Presentation Features for Performing Operations and Selecting Content

ABSTRACT

The present disclosure generally relates to techniques for presenting operations in a presentation. A technique is provided for allowing a user to insert media items on consecutive slides. During a presentation mode, the media items are determined to be two instances of a same media item, and matched such that the media item plays continuously across multiple slides. Another technique is provided to allow a user to utilize a user input to override a linearly-defined set of actions within a presentation. Another technique is utilized to temporarily select a visually obstructed object in a graphic editing interface such that the visually obstructed object may be manipulated during the temporary selection mode.

FIELD

The present disclosure relates generally to computer user interfaces,and more specifically to features for performing operations in apresentation and selecting visually obstructed objects in a graphicediting interface.

BACKGROUND

Presentation applications allow users to create and present graphicalslideshows. Typically, in an editing mode, a user generates a set ofslides and inserts content, such as visual data, text, and the like. Ina presentation mode, a user may load the generated slideshow and presentthe slideshow to an audience, walking through a set of slides. Somepresentation applications allow a user to generate the slideshow in alinear fashion, such that slides and their content are presented in alinear fashion based on user input. For example, as a user presents aslideshow, the various slides and actions within the slides may bepresented sequentially in a predetermined order as provided by the userduring the editing mode. In addition, present applications allow usersto create graphics that include multiple layered objects. However, whenediting layered objects, difficulties arise. For example, it is oftennot intuitive or efficient to manipulate an object that is visuallyobstructed by another object.

BRIEF SUMMARY

Some techniques for performing operations in a presentation usingelectronic devices can be cumbersome. For example, components aretypically tied to a single slide and are not typically presentable overmultiple slides. Some existing techniques use a complex andtime-consuming user interface, which may include multiple key presses orkeystrokes. Existing techniques require substantial time, wasting usertime and device energy. This latter consideration is particularlyimportant in battery-operated devices.

Accordingly, the present technique provides electronic devices withfaster, more efficient methods and interfaces for performing operationsin preparation and display of slideshow presentations. Such methods andinterfaces optionally complement or replace other methods for performingoperations in slideshow presentations. Such methods and interfacesreduce the cognitive burden on a user and produce a more efficienthuman-machine interface. For battery-operated computing devices, suchmethods and interfaces conserve power and increase the time betweenbattery charges.

Further, some techniques for editing visually obstructed objects in agraphic editing interface using electronic devices are generallycumbersome. For example, often many keystrokes are required to selectand edit an object that is visually obstructed by another object. Someexisting techniques use a complex and time-consuming user interface,which may include multiple key presses or keystrokes. Existingtechniques require more time than necessary, wasting user time anddevice energy. This latter consideration is particularly important inbattery-operated devices.

Accordingly, the present technique provides electronic devices withfaster, more efficient methods and interfaces for performing selectionoperations in a graphic editing interface. Such methods and interfacesoptionally complement or replace other methods for performing operationsin slideshow presentations. Such methods and interfaces reduce thecognitive burden on a user and produce a more efficient human-machineinterface. For battery-operated computing devices, such methods andinterfaces conserve power and increase the time between battery charges.

A first method comprises, at an electronic device in communication witha display, receiving a slideshow comprising a first slide and a secondslide, wherein the first slide comprises a first playable media item,and the second slide comprises a second playable media item; and inaccordance with a determination that the first playable media item andthe second playable item correspond to a same media item, modifying apresentation of the second playable media item during playback such thatthe same media item is played continuously during presentation of thefirst slide and the second slide. A non-transitory computer-readablestorage medium storing one or more programs configured to be executed byone or more processors of an electronic device with a display, the oneor more programs including instructions for performing the method. Anelectronic device, comprising a display, one or more input devices, oneor more processors, and memory storing one or more programs configuredto be executed by the one or more processors, the one or more programsincluding instructions for performing the method.

An electronic device comprising a display, one or more input devices,and means for performing the method.

A non-transitory computer-readable storage medium storing one or moreprograms configured to be executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, the oneor more programs including instructions for, receiving a slideshowcomprising a first slide and a second slide, wherein the first slidecomprises a first playable media item, and the second slide comprises asecond playable media item; and in accordance with a determination thatthe first playable media item and the second playable item correspond toa same media item, modifying a presentation of the second playable mediaitem during playback such that the same media item is playedcontinuously during presentation of the first slide and the secondslide.

A transitory computer-readable storage medium storing one or moreprograms configured to be executed by one or more processors of anelectronic device with a display, the one or more programs includinginstructions for, receiving a slideshow comprising a first slide and asecond slide, wherein the first slide comprises a first playable mediaitem, and the second slide comprises a second playable media item; andin accordance with a determination that the first playable media itemand the second playable item correspond to a same media item, modifyinga presentation of the second playable media item during playback suchthat the same media item is played continuously during presentation ofthe first slide and the second slide.

An electronic device comprising a display, one or more input devices,one or more processors, and memory storing one or more programsconfigured to be executed by the one or more processors, the one or moreprograms including instructions for receiving a slideshow comprising afirst slide and a second slide, wherein the first slide comprises afirst playable media item, and the second slide comprises a secondplayable media item, and in accordance with a determination that thefirst playable media item and the second playable item correspond to asame media item, modifying a presentation of the second playable mediaitem during playback such that the same media item is playedcontinuously during presentation of the first slide and the secondslide.

An electronic device, comprising a display, one or more input devices,means for receiving a slideshow comprising a first slide and a secondslide, wherein the first slide comprises a first playable media item,and the second slide comprises a second playable media item; and meansfor, in accordance with a determination that the first playable mediaitem and the second playable item correspond to a same media item,modifying a presentation of the second playable media item duringplayback such that the same media item is played continuously duringpresentation of the first slide and the second slide.

A second method comprising at an electronic device in communication witha display and one or more input devices, displaying, via the displaydevice, a first user interface of a slideshow application, wherein thefirst user interface includes a representation of a first slide of aslideshow, while displaying the first user interface, receiving, via theone or more input devices, first user input to add a first operation tothe first slide of the slideshow, in response to the first user input,causing the first operation to be configured to be performed when one ormore first criteria are met, receiving, via the one or more inputdevices, second user input to cause the slideshow to be presented, inresponse to the second user input, initiating presentation of theslideshow, and while presenting the slideshow, receiving, via the one ormore input devices, third user input; and in response to the third userinput, in accordance with a determination that one or more secondcriteria are met, utilizing one or more third criteria to determineinitiation of the first operation, wherein the one or more secondcriteria are different from the one or more first criteria, the one ormore third criteria are different from the one or more first criteria,and the one or more third criteria are different from the one or moresecond criteria.

A non-transitory computer-readable storage medium storing one or moreprograms configured to be executed by one or more processors of anelectronic device with a display and one or more input devices, the oneor more programs including instructions for performing the secondmethod.

A transitory computer-readable storage medium storing one or moreprograms configured to be executed by one or more processors of anelectronic device with a display and one or more input devices, the oneor more programs including instructions for performing the secondmethod.

An electronic device comprising, a display; one or more input devices;one or more processors; and memory storing one or more programsconfigured to be executed by the one or more processors, the one or moreprograms including instructions for performing the second method.

An electronic device comprising a display; one or more input devices;and means for performing the second method.

A non-transitory computer-readable storage medium storing one or moreprograms configured to be executed by one or more processors of anelectronic device with a display and one or more user input devices, theone or more programs including instructions for displaying, via thedisplay device, a first user interface of a slideshow application,wherein the first user interface includes a representation of a firstslide of a slideshow; while displaying the first user interface,receiving, via the one or more input devices, first user input to add afirst operation to the first slide of the slideshow; in response to thefirst user input, causing the first operation to be configured to beperformed when one or more first criteria are met; receiving, via theone or more input devices, second user input to cause the slideshow tobe presented; in response to the second user input, initiatingpresentation of the slideshow; and while presenting the slideshow,receiving, via the one or more input devices, third user input, and inresponse to the third user input, in accordance with a determinationthat one or more second criteria are met, utilizing one or more thirdcriteria to determine initiation of the first operation, wherein the oneor more second criteria are different from the one or more firstcriteria, the one or more third criteria are different from the one ormore first criteria, and the one or more third criteria are differentfrom the one or more second criteria.

An electronic device comprising a display; one or more input devices;one or more processors; and memory storing one or more programsconfigured to be executed by the one or more processors, the one or moreprograms including instructions for displaying, via the display device,a first user interface of a slideshow application, wherein the firstuser interface includes a representation of a first slide of aslideshow; while displaying the first user interface, receiving, via theone or more input devices, first user input to add a first operation tothe first slide of the slideshow; in response to the first user input,causing the first operation to be configured to be performed when one ormore first criteria are met; receiving, via the one or more inputdevices, second user input to cause the slideshow to be presented; inresponse to the second user input, initiating presentation of theslideshow; and while presenting the slideshow, receiving, via the one ormore input devices, third user input; and in response to the third userinput, in accordance with a determination that one or more secondcriteria are met, utilizing one or more third criteria to determineinitiation of the first operation, wherein the one or more secondcriteria are different from the one or more first criteria, the one ormore third criteria are different from the one or more first criteria,and the one or more third criteria are different from the one or moresecond criteria.

An electronic device comprising a display; one or more input devices;means for displaying, via the display device, a first user interface ofa slideshow application, wherein the first user interface includes arepresentation of a first slide of a slideshow; means for receiving,while displaying the first user interface, via the one or more inputdevices, first user input to add a first operation to the first slide ofthe slideshow; means for causing, in response to the first user input,the first operation to be configured to be performed when one or morefirst criteria are met; means for receiving, via the one or more inputdevices, second user input to cause the slideshow to be presented; meansfor initiating, in response to the second user input, presentation ofthe slideshow; and means for receiving, while presenting the slideshow,via the one or more input devices, third user input; and means forutilizing, in response to the third user input and in accordance with adetermination that one or more second criteria are met, one or morethird criteria to determine initiation of the first operation, whereinthe one or more second criteria are different from the one or more firstcriteria, the one or more third criteria are different from the one ormore first criteria, and the one or more third criteria are differentfrom the one or more second criteria.

A third method comprising, at an electronic device in communication witha display device, displaying, via the display device, a graphic editinginterface comprising a plurality of layered objects and a selectioncomponent by which one or more of the plurality of layered objects maybe selected, wherein the plurality of layered objects comprises a firstobject and a second object, while displaying the graphic editinginterface, receiving, via one or more input devices, first user input,in response to the first user input, in accordance with a determinationthat the first user input corresponds to selection of the second objectwithin the selection component, transitioning into a temporary selectionmode, and selecting the second object, receiving, via the one or moreinput devices, second user input directed to a first location where thesecond object is at least partially visually obstructed by the firstobject when the second user input is received, wherein the second userinput corresponds to a request to perform a first operation on an objectat the first location, and in response to the second user input, inaccordance with a determination that one or more first criteria aresatisfied, performing the second operation on the second object, andreceiving, via the one or more input devices, third user input directedto a second location where the second object is at least partiallyvisually obstructed by the first object when the third user input isreceived, and in response to the third user input, in accordance with adetermination that one or more second criteria are satisfied, performingthe second operation on the first object.

An electronic device comprising, a display, one or more input devices,one or more processors, and memory storing one or more programsconfigured to be executed by the one or more processors, the one or moreprograms including instructions for performing the third method.

An electronic device comprising a display, one or more input devices,and means for performing the third method.

A non-transitory computer-readable storage medium storing one or moreprograms configured to be executed by one or more processors of anelectronic device with a display, the one or more programs includinginstructions for displaying, via the display device, a graphic editinginterface comprising a plurality of layered objects and a selectioncomponent by which one or more of the plurality of layered objects maybe selected, wherein the plurality of layered objects comprises a firstobject and a second object, while displaying the graphic editinginterface, receiving, via one or more input devices, first user input,in response to the first user input, in accordance with a determinationthat the first user input corresponds to selection of the second objectwithin the selection component, transitioning into a temporary selectionmode, and selecting the second object, receiving, via the one or moreinput devices, second user input directed to a first location where thesecond object is at least partially visually obstructed by the firstobject when the second user input is received, wherein the second userinput corresponds to a request to perform a first operation on an objectat the first location, and in response to the second user input, inaccordance with a determination that one or more first criteria aresatisfied, performing the second operation on the second object, andreceiving, via the one or more input devices, third user input directedto a second location where the second object is at least partiallyvisually obstructed by the first object when the third user input isreceived, and in response to the third user input, in accordance with adetermination that one or more second criteria are satisfied, performingthe second operation on the first object.

An electronic device comprising a display, one or more input devices,one or more processors, and memory storing one or more programsconfigured to be executed by the one or more processors, the one or moreprograms including instructions for displaying, via the display device,a graphic editing interface comprising a plurality of layered objectsand a selection component by which one or more of the plurality oflayered objects may be selected, wherein the plurality of layeredobjects comprises a first object and a second object, while displayingthe graphic editing interface, receiving, via one or more input devices,first user input, in response to the first user input, in accordancewith a determination that the first user input corresponds to selectionof the second object within the selection component, transitioning intoa temporary selection mode, and selecting the second object, receiving,via the one or more input devices, second user input directed to a firstlocation where the second object is at least partially visuallyobstructed by the first object when the second user input is received,wherein the second user input corresponds to a request to perform afirst operation on an object at the first location, and in response tothe second user input, in accordance with a determination that one ormore first criteria are satisfied, performing the second operation onthe second object, and receiving, via the one or more input devices,third user input directed to a second location where the second objectis at least partially visually obstructed by the first object when thethird user input is received, and in response to the third user input,in accordance with a determination that one or more second criteria aresatisfied, performing the second operation on the first object.

An electronic device comprising a display, one or more input devices,means for displaying, via the display device, a graphic editinginterface comprising a plurality of layered objects and a selectioncomponent by which one or more of the plurality of layered objects maybe selected, wherein the plurality of layered objects comprises a firstobject and a second object, means for, while displaying the graphicediting interface, receiving, via one or more input devices, first userinput, in response to the first user input, in accordance with adetermination that the first user input corresponds to selection of thesecond object within the selection component, transitioning into atemporary selection mode, and selecting the second object, means forreceiving, via the one or more input devices, second user input directedto a first location where the second object is at least partiallyvisually obstructed by the first object when the second user input isreceived, wherein the second user input corresponds to a request toperform a first operation on an object at the first location, and meansfor, in response to the second user input, in accordance with adetermination that one or more first criteria are satisfied, performingthe second operation on the second object, and means for receiving, viathe one or more input devices, third user input directed to a secondlocation where the second object is at least partially visuallyobstructed by the first object when the third user input is received,and means for, in response to the third user input, in accordance with adetermination that one or more second criteria are satisfied, performingthe second operation on the first object.

Executable instructions for performing these functions are, optionally,included in a non-transitory computer-readable storage medium or othercomputer program product configured for execution by one or moreprocessors. Executable instructions for performing these functions are,optionally, included in a transitory computer-readable storage medium orother computer program product configured for execution by one or moreprocessors.

Thus, devices are provided with faster, more efficient methods andinterfaces for managing event notifications, thereby increasing theeffectiveness, efficiency, and user satisfaction with such devices. Suchmethods and interfaces may complement or replace other methods formanaging event notifications.

DESCRIPTION OF THE FIGURES

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1 is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some embodiments.

FIG. 2 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments.

FIGS. 3A-B illustrates a personal electronic device in accordance withsome embodiments.

FIG. 4 illustrates a flowchart of a technique for matching playablemedia items across slides in accordance with some embodiments.

FIG. 5 illustrates a flowchart of a technique for presenting a slideshowwith playable media items matched across slides in accordance with someembodiments.

FIG. 6 illustrates a flowchart of a technique for transitioning a mediaitem between slides in accordance with some embodiments.

FIG. 7 illustrates a flowchart of a technique for incorporating aplayable media item into a transition between two slides in accordancewith some embodiments.

FIGS. 8A-8B illustrate example user interfaces for building a slideshowwith playable media items matched across slides in accordance with someembodiments.

FIGS. 9A-9B illustrate frames of an example slideshow with playablemedia items matched across slides, in accordance with some embodiments.

FIG. 10 illustrates a flowchart of a technique for providing aninterface for editing a presentation in accordance with someembodiments.

FIG. 11 illustrates a flowchart of a technique for transitioning betweenslides in a slideshow presentation in accordance with some embodiments.

FIG. 12 illustrates an example user interface for building a slideshowhaving a modifiable presentation order in accordance with someembodiments.

FIG. 13 illustrates a flow diagram for a slideshow having a modifiablepresentation order in accordance with some embodiments.

FIGS. 14-15 illustrate flowcharts of a technique for utilizing atemporary selection mode in accordance with some embodiments.

FIGS. 16A-G illustrate example user interfaces for utilizing a temporaryselection mode in accordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

The following description sets forth exemplary methods, parameters, andthe like. It should be recognized, however, that such description is notintended as a limitation on the scope of the present disclosure but isinstead provided as a description of exemplary embodiments.

There is a need for presentation applications that provide the abilityto modify an ordered set of operations during presentation. As anexample, there is a need for a technique to allow a playable media itemto be inserted into consecutives slides of a slideshow such that theplayable media item is presented continuously across presentation of theconsecutive slides. There is also a need for a technique to allow a userto modify a pre-ordered set of operations in a slideshow duringpresentation. Such techniques can reduce the cognitive burden on a userwho generates and presents slideshow presentations, thereby enhancingproductivity. Further, such techniques can reduce processor and batterypower otherwise wasted on complex editing of media items and slideshowsto obtain a similar result. There is also a need for a technique toallow a user to temporarily select visually obstructed objects in agraphic editing interface. Such techniques can reduce the cognitiveburden on a user who edits layered objects in a graphic editinginterface, thereby enhancing productivity. Further, such techniques canreduce processor and battery power otherwise wasted on complex editingof media items to obtain a similar result.

Below, FIGS. 1, 2, and 3A-3B provide a description of exemplary devicesfor performing the techniques for providing presentation operations.FIG. 4 illustrates a flowchart of a technique for matching playablemedia items across slides in accordance with some embodiments. FIG. 5illustrates a flowchart of a technique for presenting a slideshow withplayable media items matched across slides in accordance with someembodiments. FIG. 6 illustrates a flowchart of a technique fortransitioning a media item between slides in accordance with someembodiments. FIG. 7 illustrates a flowchart of a technique forincorporating a playable media item into a transition between two slidesin accordance with some embodiments. FIGS. 8A-8B illustrate example userinterfaces for building a slideshow with playable media items matchedacross slides in accordance with some embodiments. FIGS. 9A-9Billustrate frames of an example slideshow with playable media itemsmatched across slides, in accordance with some embodiments. FIG. 10illustrates a flowchart of a technique for providing an interface forediting a presentation in accordance with some embodiments. FIG. 11illustrates a flowchart of a technique for modifying presentation ofordered operations of a slideshow in accordance with one or moreembodiments. FIG. 12 illustrates an example user interface for buildinga slideshow having a modifiable presentation order in accordance withsome embodiments. FIG. 13 illustrates a flow diagram for a slideshowhaving a modifiable presentation order in accordance with someembodiments. FIGS. 14-15 illustrate a flowchart of a technique forutilizing a temporary selection mode in accordance with someembodiments. FIGS. 16A-G illustrate example user interfaces forutilizing a temporary selection mode in accordance with someembodiments.

Although the following description uses terms “first,” “second,” etc. todescribe various elements, these elements should not be limited by theterms. These terms are only used to distinguish one element fromanother. For example, a first user input could be termed a second userinput, and, similarly, a second user input could be termed a first userinput, without departing from the scope of the various describedembodiments. The first user input and the second user inputs are bothuser inputs, but they are not the same user input.

The terminology used in the description of the various describedembodiments herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used in thedescription of the various described embodiments and the appendedclaims, the singular forms “a,” “an,” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

The term “if” is, optionally, construed to mean “when” or “upon” or “inresponse to determining” or “in response to detecting,” depending on thecontext. Similarly, the phrase “if it is determined” or “if [a statedcondition or event] is detected” is, optionally, construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Exemplary embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch screen displays and/or touchpads), are,optionally, used. It should also be understood that, in someembodiments, the device is not a portable communications device, but isa desktop computer with a touch-sensitive surface (e.g., a touch screendisplay and/or a touchpad). In some embodiments, the electronic deviceis a computer system that is in communication (e.g., via wirelesscommunication, via wired communication) with a display generationcomponent. The display generation component is configured to providevisual output, such as display via a CRT display, display via an LEDdisplay, or display via image projection. In some embodiments, thedisplay generation component is integrated with the computer system. Insome embodiments, the display generation component is separate from thecomputer system. As used herein, “displaying” content includes causingto display the content (e.g., video data rendered or decoded by displaycontroller 156) by transmitting, via a wired or wireless connection,data (e.g., image data or video data) to an integrated or externaldisplay generation component to visually produce the content.

In the discussion that follows, an electronic device that includes adisplay and a user input device is described. It should be understood,however, that the electronic device optionally includes one or morephysical user-interface devices, such as a physical keyboard, a mouse,and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that are executed on the device optionally useat least one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the deviceare, optionally, adjusted and/or varied from one application to the nextand/or within a respective application. In this way, a common physicalarchitecture (such as the touch-sensitive surface) of the deviceoptionally supports the variety of applications with user interfacesthat are intuitive and transparent to the user.

Attention is now directed toward embodiments of electronic devices withdisplays and user input devices. FIG. 1 is a block diagram illustratingmultifunction device 100 with display system 112 in accordance with someembodiments. Device 100 includes memory 102 (which optionally includesone or more computer-readable storage mediums), memory controller 122,one or more processing units (CPUs) 120, peripherals interface 118, RFcircuitry 108, audio circuitry 110, speaker 111, microphone 113,input/output (I/O) subsystem 106, other input control devices 116, andexternal port 124. Device 100 optionally includes one or more opticalsensors 164. Device 100 optionally includes one or more contactintensity sensors 165 for detecting intensity of contacts on device 100(e.g., a touch-sensitive surface such as touch-sensitive display system112 of device 100). Device 100 optionally includes one or more tactileoutput generators 167 for generating tactile outputs on device 100(e.g., generating tactile outputs on a touch-sensitive surface such astouch-sensitive display system 112 of device 100 or touchpad 355 ofdevice 300). These components optionally communicate over one or morecommunication buses or signal lines 103.

It should be appreciated that device 100 is only one example of amultifunction device, and that device 100 optionally has more or fewercomponents than shown, optionally combines two or more components, oroptionally has a different configuration or arrangement of thecomponents. The various components shown in FIG. 1 are implemented inhardware, software, or a combination of both hardware and software,including one or more signal processing and/or application-specificintegrated circuits.

Memory 102 optionally includes high-speed random access memory andoptionally also includes non-volatile memory, such as one or moremagnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Memory controller 122optionally controls access to memory 102 by other components of device100.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data. In some embodiments, peripheralsinterface 118, CPU 120, and memory controller 122 are, optionally,implemented on a single chip, such as chip 104. In some otherembodiments, they are, optionally, implemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (8W), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The RF circuitry 108optionally includes well-known circuitry for detecting near fieldcommunication (NFC) fields, such as by a short-range communicationradio. The wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies, including but notlimited to Global System for Mobile Communications (GSM), Enhanced DataGSM Environment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSDPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity(Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n,and/or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, aprotocol for e-mail (e.g., Internet message access protocol (IMAP)and/or post office protocol (POP)), instant messaging (e.g., extensiblemessaging and presence protocol (XMPP), Session Initiation Protocol forInstant Messaging and Presence Leveraging Extensions (SIMPLE), InstantMessaging and Presence Service (IMPS)), and/or Short Message Service(SMS), or any other suitable communication protocol, includingcommunication protocols not yet developed as of the filing date of thisdocument.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data is, optionally,retrieved from and/or transmitted to memory 102 and/or RF circuitry 108by peripherals interface 118. In some embodiments, audio circuitry 110also includes a headset jack. The headset jack provides an interfacebetween audio circuitry 110 and removable audio input/outputperipherals, such as output-only headphones or a headset with bothoutput (e.g., a headphone for one or both ears) and input (e.g., amicrophone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 optionally includes display controller156, optical sensor controller 158, depth camera controller 169,intensity sensor controller 159, haptic feedback controller 161, and oneor more input controllers 160 for other input or control devices. Theone or more input controllers 160 receive/send electrical signalsfrom/to other input control devices 116. The other input control devices116 optionally include physical buttons (e.g., push buttons, rockerbuttons, etc.), dials, slider switches, joysticks, click wheels, and soforth. In some alternate embodiments, input controller(s) 160 are,optionally, coupled to any (or none) of the following: a keyboard, aninfrared port, a USB port, and a pointer device such as a mouse. The oneor more buttons optionally include an up/down button for volume controlof speaker 111 and/or microphone 113. The one or more buttons optionallyinclude a push button. In some embodiments, the electronic device is acomputer system that is in communication (e.g., via wirelesscommunication, via wired communication) with one or more input devices.In some embodiments, the one or more input devices include atouch-sensitive surface (e.g., a trackpad, as part of a touch-sensitivedisplay). In some embodiments, the one or more input devices include oneor more camera sensors (e.g., one or more optical sensors 164 and/or oneor more depth camera sensors 175), such as for tracking a user'sgestures (e.g., hand gestures) as input. In some embodiments, the one ormore input devices are integrated with the computer system. In someembodiments, the one or more input devices are separate from thecomputer system.

A quick press of the push button optionally disengages a lock of touchscreen 112 or optionally begins a process that uses gestures on thetouch screen to unlock the device, as described in U.S. patentapplication Ser. No. 11/322,549, “Unlocking a Device by PerformingGestures on an Unlock Image,” filed Dec. 23, 2005, U.S. Pat. No.7,657,849, which is hereby incorporated by reference in its entirety. Alonger press of the push button optionally turns power to device 100 onor off. The functionality of one or more of the buttons are, optionally,user-customizable. Touch screen 112 is used to implement virtual or softbuttons and one or more soft keyboards.

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output optionallyincludes graphics, text, icons, video, and any combination thereof(collectively termed “graphics”). In some embodiments, some or all ofthe visual output optionally corresponds to user-interface objects.

Display system 112 optionally has a touch-sensitive surface, sensor, orset of sensors that accepts input from the user based on haptic and/ortactile contact. Display system 112 and display controller 156 (alongwith any associated modules and/or sets of instructions in memory 102)detect contact (and any movement or breaking of the contact) on displaysystem 112 and convert the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages,or images) that are displayed on display system 112. In an exemplaryembodiment, a point of contact between display system 112 and the usercorresponds to a finger of the user.

Display system 112 may include a touch-sensitive screen, an externaldisplay, or a built in display, and optionally uses LCD (liquid crystaldisplay) technology, LPD (light emitting polymer display) technology, orLED (light emitting diode) technology, although other displaytechnologies are used in other embodiments. Display system 112 anddisplay controller 156 optionally detect contact and any movement orbreaking thereof using any of a plurality of touch sensing technologiesnow known or later developed, including but not limited to capacitive,resistive, infrared, and surface acoustic wave technologies, as well asother proximity sensor arrays or other elements for determining one ormore points of contact with display system 112. In an exemplaryembodiment, projected mutual capacitance sensing technology is used,such as that found in the iPhone® and iPod Touch® from Apple Inc. ofCupertino, Calif.

A touch-sensitive display in some embodiments of display system 112 is,optionally, analogous to the multi-touch sensitive touchpads describedin the following U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat.No. 6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932(Westerman), and/or U.S. Patent Publication 2002/0015024A1, each ofwhich is hereby incorporated by reference in its entirety. However,touch screen 112 displays visual output from device 100, whereastouch-sensitive touchpads do not provide visual output.

A touch-sensitive display in some embodiments of touch screen 112 isdescribed in the following applications: (1) U.S. patent applicationSer. No. 11/381,313, “Multipoint Touch Surface Controller,” filed May 2,2006; (2) U.S. patent application Ser. No. 10/840,862, “MultipointTouchscreen,” filed May 6, 2004; (3) U.S. patent application Ser. No.10/903,964, “Gestures For Touch Sensitive Input Devices,” filed Jul. 30,2004; (4) U.S. patent application Ser. No. 11/048,264, “Gestures ForTouch Sensitive Input Devices,” filed Jan. 31, 2005; (5) U.S. patentapplication Ser. No. 11/038,590, “Mode-Based Graphical User InterfacesFor Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6) U.S. patentapplication Ser. No. 11/228,758, “Virtual Input Device Placement On ATouch Screen User Interface,” filed Sep. 16, 2005; (7) U.S. patentapplication Ser. No. 11/228,700, “Operation Of A Computer With A TouchScreen Interface,” filed Sep. 16, 2005; (8) U.S. patent application Ser.No. 11/228,737, “Activating Virtual Keys Of A Touch-Screen VirtualKeyboard,” filed Sep. 16, 2005; and (9) U.S. patent application Ser. No.11/367,749, “Multi-Functional Hand-Held Device,” filed Mar. 3, 2006. Allof these applications are incorporated by reference herein in theirentirety.

Display system 112 optionally has a video resolution in excess of 100dpi. In some embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user optionally makes contact with displaysystem 112 using any suitable object or appendage, such as a stylus, afinger, and so forth. In some embodiments, the user interface isdesigned to work primarily with finger-based contacts and gestures,which can be less precise than stylus-based input due to the larger areaof contact of a finger on the touch screen. In some embodiments, thedevice translates the rough finger-based input into a precisepointer/cursor position or command for performing the actions desired bythe user.

In some embodiments, in addition to the touch screen, device 100optionally includes a touchpad for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad is, optionally, a touch-sensitive surface that isseparate from display system 112 or an extension of the touch-sensitivesurface formed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 optionally includes a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light-emittingdiode (LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 optionally also includes one or more optical sensors 164.FIG. 1 shows an optical sensor coupled to optical sensor controller 158in I/O subsystem 106. Optical sensor 164 optionally includescharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lenses, and converts thelight to data representing an image. In conjunction with imaging module143 (also called a camera module), optical sensor 164 optionallycaptures still images or video. In some embodiments, an optical sensoris located on the back of device 100, opposite touch screen display 112on the front of the device so that the touch screen display is enabledfor use as a viewfinder for still and/or video image acquisition. Insome embodiments, an optical sensor is located on the front of thedevice so that the user's image is, optionally, obtained for videoconferencing while the user views the other video conferenceparticipants on the touch screen display. In some embodiments, theposition of optical sensor 164 can be changed by the user (e.g., byrotating the lens and the sensor in the device housing) so that a singleoptical sensor 164 is used along with the touch screen display for bothvideo conferencing and still and/or video image acquisition.

Device 100 optionally also includes one or more depth camera sensors175. FIG. 1 shows a depth camera sensor coupled to depth cameracontroller 169 in I/O subsystem 106. Depth camera sensor 175 receivesdata from the environment to create a three dimensional model of anobject (e.g., a face) within a scene from a viewpoint (e.g., a depthcamera sensor). In some embodiments, in conjunction with imaging module143 (also called a camera module), depth camera sensor 175 is optionallyused to determine a depth map of different portions of an image capturedby the imaging module 143. In some embodiments, a depth camera sensor islocated on the front of device 100 so that the user's image with depthinformation is, optionally, obtained for video conferencing while theuser views the other video conference participants on the touch screendisplay and to capture selfies with depth map data. In some embodiments,the depth camera sensor 175 is located on the back of device, or on theback and the front of the device 100. In some embodiments, the positionof depth camera sensor 175 can be changed by the user (e.g., by rotatingthe lens and the sensor in the device housing) so that a depth camerasensor 175 is used along with the touch screen display for both videoconferencing and still and/or video image acquisition.

In some embodiments, a depth map (e.g., depth map image) containsinformation (e.g., values) that relates to the distance of objects in ascene from a viewpoint (e.g., a camera, an optical sensor, a depthcamera sensor). In one embodiment of a depth map, each depth pixeldefines the position in the viewpoint's Z-axis where its correspondingtwo-dimensional pixel is located. In some embodiments, a depth map iscomposed of pixels wherein each pixel is defined by a value (e.g.,0-255). For example, the “0” value represents pixels that are located atthe most distant place in a “three dimensional” scene and the “255”value represents pixels that are located closest to a viewpoint (e.g., acamera, an optical sensor, a depth camera sensor) in the “threedimensional” scene. In other embodiments, a depth map represents thedistance between an object in a scene and the plane of the viewpoint. Insome embodiments, the depth map includes information about the relativedepth of various features of an object of interest in view of the depthcamera (e.g., the relative depth of eyes, nose, mouth, ears of a user'sface). In some embodiments, the depth map includes information thatenables the device to determine contours of the object of interest in az direction.

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1 shows a contact intensity sensor coupled tointensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor 165 optionally includes one or more piezoresistive strain gauges,capacitive force sensors, electric force sensors, piezoelectric forcesensors, optical force sensors, capacitive touch-sensitive surfaces, orother intensity sensors (e.g., sensors used to measure the force (orpressure) of a contact on a touch-sensitive surface). Contact intensitysensor 165 receives contact intensity information (e.g., pressureinformation or a proxy for pressure information) from the environment.In some embodiments, at least one contact intensity sensor is collocatedwith, or proximate to, a touch-sensitive surface (e.g., touch-sensitivedisplay system 112). In some embodiments, at least one contact intensitysensor is located on the back of device 100, opposite touch screendisplay 112, which is located on the front of device 100.

Device 100 optionally also includes one or more proximity sensors 166.FIG. 1 shows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 is, optionally, coupled to inputcontroller 160 in I/O subsystem 106. Proximity sensor 166 optionallyperforms as described in U.S. patent application Ser. No. 11/241,839,“Proximity Detector In Handheld Device”; Ser. No. 11/240,788, “ProximityDetector In Handheld Device”; Ser. No. 11/620,702, “Using Ambient LightSensor To Augment Proximity Sensor Output”; Ser. No. 11/586,862,“Automated Response To And Sensing Of User Activity In PortableDevices”; and Ser. No. 11/638,251, “Methods And Systems For AutomaticConfiguration Of Peripherals,” which are hereby incorporated byreference in their entirety. In some embodiments, the proximity sensorturns off and disables touch screen 112 when the multifunction device isplaced near the user's ear (e.g., when the user is making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 167. FIG. 1 shows a tactile output generator coupled tohaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator 167 optionally includes one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Contact intensity sensor 165 receives tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch screen display 112, which is located on thefront of device 100.

Device 100 optionally also includes one or more accelerometers 168. FIG.1 shows accelerometer 168 coupled to peripherals interface 118.Alternately, accelerometer 168 is, optionally, coupled to an inputcontroller 160 in I/O subsystem 106. Accelerometer 168 optionallyperforms as described in U.S. Patent Publication No. 20050190059,“Acceleration-based Theft Detection System for Portable ElectronicDevices,” and U.S. Patent Publication No. 20060017692, “Methods AndApparatuses For Operating A Portable Device Based On An Accelerometer,”both of which are incorporated by reference herein in their entirety. Insome embodiments, information is displayed on the touch screen displayin a portrait view or a landscape view based on an analysis of datareceived from the one or more accelerometers. Device 100 optionallyincludes, in addition to accelerometer(s) 168, a magnetometer and a GPS(or GLONASS or other global navigation system) receiver for obtaininginformation concerning the location and orientation (e.g., portrait orlandscape) of device 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, and applications (or sets of instructions) 136.Furthermore, in some embodiments, memory 102 (FIG. 1A) or 270 (FIG. 2)stores device/global internal state 157, as shown in FIGS. 1 and 2.Device/global internal state 157 includes one or more of: activeapplication state, indicating which applications, if any, are currentlyactive; display state, indicating what applications, views or otherinformation occupy various regions of display system 112; sensor state,including information obtained from the device's various sensors andinput control devices 116; and location information concerning thedevice's location and/or attitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with, the30-pin connector used on iPod® (trademark of Apple Inc.) devices.

Contact/motion module 130 optionally detects contact with display system112 (in conjunction with display controller 156) and othertouch-sensitive devices (e.g., a touchpad or physical click wheel).Contact/motion module 130 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining an intensity of the contact (e.g., the force orpressure of the contact or a substitute for the force or pressure of thecontact), determining if there is movement of the contact and trackingthe movement across the touch-sensitive surface (e.g., detecting one ormore finger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact).Contact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts). In some embodiments,contact/motion module 130 and display controller 156 detect contact on atouchpad.

In some embodiments, contact/motion module 130 uses a set of one or moreintensity thresholds to determine whether an operation has beenperformed by a user (e.g., to determine whether a user has “clicked” onan icon). In some embodiments, at least a subset of the intensitythresholds is determined in accordance with software parameters (e.g.,the intensity thresholds are not determined by the activation thresholdsof particular physical actuators and can be adjusted without changingthe physical hardware of device 100). For example, a mouse “click”threshold of a trackpad or touch screen display can be set to any of alarge range of predefined threshold values without changing the trackpador touch screen display hardware. Additionally, in some implementations,a user of the device is provided with software settings for adjustingone or more of the set of intensity thresholds (e.g., by adjustingindividual intensity thresholds and/or by adjusting a plurality ofintensity thresholds at once with a system-level click “intensity”parameter).

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (liftoff) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (liftoff) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the visual impact (e.g., brightness,transparency, saturation, contrast, or other visual property) ofgraphics that are displayed. As used herein, the term “graphics”includes any object that can be displayed to a user, including, withoutlimitation, text, web pages, icons (such as user-interface objectsincluding soft keys), digital images, videos, animations, and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 167 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which is, optionally, a component of graphicsmodule 132, provides soft keyboards for entering text in variousapplications (e.g., contacts 137, e-mail 140, IM 141, browser 147, andany other application that needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing; to camera 143 as picture/video metadata;and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 optionally include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   Contacts module 137 (sometimes called an address book or contact        list);    -   Telephone module 138;    -   Video conference module 139;    -   E-mail client module 140;    -   Instant messaging (IM) module 141;    -   Workout support module 142;    -   Camera module 143 for still and/or video images;    -   Image management module 144;    -   Video player module;    -   Music player module;    -   Browser module 147;    -   Calendar module 148;    -   Widget modules 149, which optionally include one or more of:        weather widget 149-1, stocks widget 149-2, calculator widget        149-3, alarm clock widget 149-4, dictionary widget 149-5, and        other widgets obtained by the user, as well as user-created        widgets 149-6;    -   Widget creator module 150 for making user-created widgets 149-6;    -   Search module 151;    -   Video and music player module 152, which merges video player        module and music player module;    -   Notes module 153;    -   Map module 154;    -   Online video module 155; and/or    -   Presentation module 145.

Examples of other applications 136 that are, optionally, stored inmemory 102 include other word processing applications, other imageediting applications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, contacts module 137 are, optionally, used to manage an address bookor contact list (e.g., stored in application internal state 192 ofcontacts module 137 in memory 102 or memory 370), including: addingname(s) to the address book; deleting name(s) from the address book;associating telephone number(s), e-mail address(es), physicaladdress(es) or other information with a name; associating an image witha name; categorizing and sorting names; providing telephone numbers ore-mail addresses to initiate and/or facilitate communications bytelephone 138, video conference module 139, e-mail 140, or IM 141; andso forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact/motionmodule 130, graphics module 132, and text input module 134, telephonemodule 138 are optionally, used to enter a sequence of characterscorresponding to a telephone number, access one or more telephonenumbers in contacts module 137, modify a telephone number that has beenentered, dial a respective telephone number, conduct a conversation, anddisconnect or hang up when the conversation is completed. As notedabove, the wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact/motion module 130, graphicsmodule 132, text input module 134, contacts module 137, and telephonemodule 138, video conference module 139 includes executable instructionsto initiate, conduct, and terminate a video conference between a userand one or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages, and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages optionally include graphics, photos, audio files, videofiles and/or other attachments as are supported in an MMS and/or anEnhanced Messaging Service (EMS). As used herein, “instant messaging”refers to both telephony-based messages (e.g., messages sent using SMSor MMS) and Internet-based messages (e.g., messages sent using XMPP,SIMPLE, or IMPS).

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, map module 154, and music playermodule, workout support module 142 includes executable instructions tocreate workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (sports devices); receiveworkout sensor data; calibrate sensors used to monitor a workout; selectand play music for a workout; and display, store, and transmit workoutdata.

In conjunction with display system 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact/motion module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with display system 112, display controller 156,contact/motion module 130, graphics module 132, text input module 134,and camera module 143, image management module 144 includes executableinstructions to arrange, modify (e.g., edit), or otherwise manipulate,label, delete, present (e.g., in a digital slide show or album), andstore still and/or video images.

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, e-mail client module 140, and browser module 147,calendar module 148 includes executable instructions to create, display,modify, and store calendars and data associated with calendars (e.g.,calendar entries, to-do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, widget modules 149 aremini-applications that are, optionally, downloaded and used by a user(e.g., weather widget 149-1, stocks widget 149-2, calculator widget149-3, alarm clock widget 149-4, and dictionary widget 149-5) or createdby the user (e.g., user-created widget 149-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, the widget creator module 150are, optionally, used by a user to create widgets (e.g., turning auser-specified portion of a web page into a widget).

In conjunction with display system 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, search module 151 includes executable instructions to search fortext, music, sound, image, video, and/or other files in memory 102 thatmatch one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with display system 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, and browser module 147, video and musicplayer module 152 includes executable instructions that allow the userto download and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present, or otherwise play back videos (e.g.,on touch screen 112 or on an external, connected display via externalport 124). In some embodiments, device 100 optionally includes thefunctionality of an MP3 player, such as an iPod (trademark of AppleInc.).

In conjunction with display system 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, notes module 153 includes executable instructions to create andmanage notes, to-do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, and browser module 147, map module 154are, optionally, used to receive, display, modify, and store maps anddata associated with maps (e.g., driving directions, data on stores andother points of interest at or near a particular location, and otherlocation-based data) in accordance with user instructions.

In conjunction with display system 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesinstructions that allow the user to access, browse, receive (e.g., bystreaming and/or download), play back (e.g., on the touch screen or onan external, connected display via external port 124), send an e-mailwith a link to a particular online video, and otherwise manage onlinevideos in one or more file formats, such as H.264. In some embodiments,instant messaging module 141, rather than e-mail client module 140, isused to send a link to a particular online video. Additional descriptionof the online video application can be found in U.S. Provisional PatentApplication No. 60/936,562, “Portable Multifunction Device, Method, andGraphical User Interface for Playing Online Videos,” filed Jun. 20,2007, and U.S. patent application Ser. No. 11/968,067, “PortableMultifunction Device, Method, and Graphical User Interface for PlayingOnline Videos,” filed Dec. 31, 2007, the contents of which are herebyincorporated by reference in their entirety.

In conjunction with RF circuitry 108, display system 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, presentation module 145 is, optionally, used togenerate and present slideshow presentations in accordance with userinstructions. A slideshow presentation may include a set of slides onwhich text, media, and other content may be presented. A user maygenerate the slideshow using an editing mode of the presentation module145. In a presentation mode, a user may utilize the presentation module145 may traverse a presentation, for example, using user input.

Each of the above-identified modules and applications corresponds to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (e.g., sets of instructions) need notbe implemented as separate software programs, procedures, or modules,and thus various subsets of these modules are, optionally, combined orotherwise rearranged in various embodiments. For example, video playermodule is, optionally, combined with music player module into a singlemodule (e.g., video and music player module 152, FIG. 1). In someembodiments, memory 102 optionally stores a subset of the modules anddata structures identified above. Furthermore, memory 102 optionallystores additional modules and data structures not described above.

FIG. 2 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 200 need not be portable. In some embodiments,device 200 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 200 typically includesone or more processing units (CPUs) 210, one or more network or othercommunications interfaces 260, memory 270, and one or more communicationbuses 220 for interconnecting these components. Communication buses 220optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Device 200 includes input/output (I/O) interface 230 comprising display240, which is typically a touch screen display. I/O interface 230 alsooptionally includes a keyboard and/or mouse (or other pointing device)250 and touchpad 255, tactile output generator 257 for generatingtactile outputs on device 200 (e.g., similar to tactile outputgenerator(s) 167 described above with reference to FIG. 1), sensors 259(e.g., optical, acceleration, proximity, touch-sensitive, and/or contactintensity sensors similar to contact intensity sensor(s) 165 describedabove with reference to FIG. 1). Memory 270 includes high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM, or other random access solidstate memory devices; and optionally includes non-volatile memory, suchas one or more magnetic disk storage devices, optical disk storagedevices, flash memory devices, or other non-volatile solid state storagedevices. Memory 270 optionally includes one or more storage devicesremotely located from CPU(s) 210. In some embodiments, memory 270 storesprograms, modules, and data structures analogous to the programs,modules, and data structures stored in memory 102 of portablemultifunction device 100 (FIG. 1), or a subset thereof. Furthermore,memory 270 optionally stores additional programs, modules, and datastructures not present in memory 102 of portable multifunction device100. For example, memory 270 of device 200 optionally stores drawingmodule 280, presentation module 145, word processing module 284, websitecreation module 286, disk authoring module 288, and/or spreadsheetmodule 290, while memory 102 of portable multifunction device 100(FIG. 1) optionally does not store these modules.

Each of the above-identified elements in FIG. 2 is, optionally, storedin one or more of the previously mentioned memory devices. Each of theabove-identified modules corresponds to a set of instructions forperforming a function described above. The above-identified modules orprograms (e.g., sets of instructions) need not be implemented asseparate software programs, procedures, or modules, and thus varioussubsets of these modules are, optionally, combined or otherwiserearranged in various embodiments. In some embodiments, memory 270optionally stores a subset of the modules and data structures identifiedabove. Furthermore, memory 270 optionally stores additional modules anddata structures not described above.

Attention is now directed towards embodiments of user interfaces thatare, optionally, implemented on, for example, portable multifunctiondevice 100.

FIG. 3A illustrates exemplary personal electronic device 300. Device 300includes body 302. In some embodiments, device 300 can include some orall of the features described with respect to devices 100 and 200 (e.g.,FIGS. 1-2).

In some embodiments, device 300 has one or more input mechanisms 306 and308. Input mechanisms 306 and 308, if included, can be physical.Examples of physical input mechanisms include push buttons and rotatablemechanisms. In some embodiments, device 300 has one or more attachmentmechanisms. Such attachment mechanisms, if included, can permitattachment of device 300 with, for example, hats, eyewear, earrings,necklaces, shirts, jackets, bracelets, watch straps, chains, trousers,belts, shoes, purses, backpacks, and so forth. These attachmentmechanisms permit device 300 to be worn by a user.

FIG. 3B depicts exemplary personal electronic device 300. In someembodiments, device 300 can include some or all of the componentsdescribed with respect to FIGS. 1 and 2. Device 300 has bus 312 thatoperatively couples I/O section 314 with one or more computer processors316 and memory 318. I/O section 314 can be connected to display 304,which can have touch-sensitive component 322 and, optionally, intensitysensor 324 (e.g., contact intensity sensor). In addition, I/O section314 can be connected with communication unit 330 for receivingapplication and operating system data, using Wi-Fi, Bluetooth, nearfield communication (NFC), cellular, and/or other wireless communicationtechniques. Device 300 can include input mechanisms 306 and/or 308.Input mechanism 306 is, optionally, a rotatable input device or adepressible and rotatable input device, for example. Input mechanism 308is, optionally, a button, in some examples.

Input mechanism 308 is, optionally, a microphone, in some examples.Personal electronic device 300 optionally includes various sensors, suchas GPS sensor 332, accelerometer 334, directional sensor 340 (e.g.,compass), gyroscope 336, motion sensor 338, and/or a combinationthereof, all of which can be operatively connected to I/O section 314.

Memory 318 of personal electronic device 300 can include one or morenon-transitory computer-readable storage mediums, for storingcomputer-executable instructions, which, when executed by one or morecomputer processors 316, for example, can cause the computer processorsto perform the techniques described below, including processes 602-1118(FIGS. 6-11). A computer-readable storage medium can be any medium thatcan tangibly contain or store computer-executable instructions for useby or in connection with the instruction execution system, apparatus, ordevice. In some examples, the storage medium is a transitorycomputer-readable storage medium. In some examples, the storage mediumis a non-transitory computer-readable storage medium. The non-transitorycomputer-readable storage medium can include, but is not limited to,magnetic, optical, and/or semiconductor storages. Examples of suchstorage include magnetic disks, optical discs based on CD, DVD, orBlu-ray technologies, as well as persistent solid-state memory such asflash, solid-state drives, and the like. Personal electronic device 300is not limited to the components and configuration of FIG. 3B, but caninclude other or additional components in multiple configurations.

As used here, the term “affordance” refers to a user-interactivegraphical user interface object that is, optionally, displayed on thedisplay screen of devices 100, 300, and/or 300 (FIGS. 1, 2, and 3A-3B).For example, an image (e.g., icon), a button, and text (e.g., hyperlink)each optionally constitute an affordance.

As used herein, the term “focus selector” refers to an input elementthat indicates a current part of a user interface with which a user isinteracting. In some implementations that include a cursor or otherlocation marker, the cursor acts as a “focus selector” so that when aninput (e.g., a press input) is detected on a touch-sensitive surface(e.g., touchpad 255 in FIG. 2) while the cursor is over a particularuser interface element (e.g., a button, window, slider, or other userinterface element), the particular user interface element is adjusted inaccordance with the detected input.

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that are implemented on an electronic device,such as portable multifunction device 100, device 200, or device 300.

FIG. 4 is a flow diagram illustrating a method for presenting a playablemedia item continuously across multiple slides using an electronicdevice in accordance with some embodiments. Method 400 is performed at adevice (e.g., 100, 200, 300) with a display. Some operations in method400 are, optionally, combined, the orders of some operations are,optionally, changed, and some operations are, optionally, omitted.

As described below, method 400 provides an intuitive way for presentinga playable media item continuously across multiple slides. The methodreduces the cognitive burden on a user for presenting a playable mediaitem continuously across multiple slides, thereby creating a moreefficient human-machine interface. For battery-operated computingdevices, enabling a user to present a playable media item continuouslyacross multiple slides is faster, more efficiently conserves power, andincreases the time between battery charges. Additionally, the methodprovides an enhanced technique for presenting the playable media item byreducing the amount of manipulation that a user must perform on themedia item for a presentation.

Flowchart 400 begins at block 402, where presentation module 145receives a slideshow having a first and second playable media items onconsecutive slides (e.g., there are no other slides between a firstslide and a second slide). As an example, a user may edit, during anediting mode of the presentation module 145, the first slide to includethe first media item and the second slide to have the second media item.Examples of the playable media items include, but are not limited to, anaudio media item (e.g., a song, an audio recording, an audio clip,etc.), a video media item (e.g., a movie, a visual recording, a videoclip, etc. captured by a recording device), an animation (e.g.,graphical elements displayed one after another in a sequence), anenhanced image file (e.g., a series of still photos captured in sequencewith or without corresponding audio data captured by a camera), and thelike.

The flowchart continues at block 404, where a determination is maderegarding whether the first and second playable media items correspondto a same media item. For example, the first playable media item and thesecond playable media items may be identical playable media items and,as such, correspond to a same media item. As another example, the firstplayable media item and the second playable media items may not beidentical, but may be instances of the same media item. This may occur,for example, if the first playable media item and the second playablemedia item are associated with different file names, come from differentsources, are encoded such that the files are not identical, and thelike. As such, the first playable media item and the second playablemedia item may be instances of the same media item. An example techniquefor determining whether the playable media items correspond to a samemedia item will be described in greater detail below with respect toFIG. 5.

If a determination is made at 404 that the first playable media item andthe second playable media item both correspond to a same media item,then the flowchart continues at block 406. At block 406, thepresentation module 145 plays the same media item continuously duringpresentation of the first and second slide. Said another way, during apresentation mode, if the first media item has not concluded by the timethe second of the consecutive slides is presented, then the same mediaitem is presented across the consecutive media slides to appearcontinuously regardless of when a user presents the second of theconsecutive slides.

According to one or more embodiments, the same media item is playedcontinuously by matching the playable media items from the consecutiveslides as in block 408. For example, the first playable media item andthe second playable media item may be matched such that when the secondof the consecutive slides is presented, the second playable media itembegins from a timestamp at which the first playable media item left off.According to some embodiments, the second playable media item may simplybe replaced by the first playable media item such that the firstplayable media item plays continuously across the consecutive slides. Asanother example, presentation characteristics of the first playablemedia item and the second playable media item may differ across thefirst and second slides of the consecutive slides. As such, the firstplayable media item may be modified in order to present a continuousplayable media item during presentation of the slideshow such that theplayable media item transitions from one presentation style to another.

Returning to 404, if a determination is made that the first playablemedia item and the second playable media item correspond to differentmedia items, then the flowchart continues to block 410, and thepresentation module 145 plays the first playable media item inconjunction with presentation of the first slide in accordance withpredetermined presentation characteristics of the first media item, andthe second playable media item in conjunction with presentation of thesecond slide in accordance with presentation characteristics of thesecond playable media item. In one or more embodiments, thecorresponding media items may be played in accordance with initiation ofthe presentation of the slide, or, in some examples, presented inaccordance with other criteria as the corresponding slide is presented.

FIG. 5 is a flow diagram illustrating a method for modifyingpresentation of playable media items on consecutive slides according toa match using an electronic device in accordance with some embodiments.Method 500 is performed at a device (e.g., 100, 200, 300) with adisplay. Some operations in method 500 are, optionally, combined, theorders of some operations are, optionally, changed, and some operationsare, optionally, omitted.

As described below, method 500 provides an intuitive way for modifyingpresentation of playable media items on consecutive slides according toa match. The method reduces the cognitive burden on a user for modifyingpresentation of playable media items on consecutive slides according toa match, thereby creating a more efficient human-machine interface. Forbattery-operated computing devices, enabling a user to modifyingpresentation of playable media items on consecutive slides according toa match faster and more efficiently conserves power and increases thetime between battery charges. Additionally, the method provides anenhanced technique for presenting the playable media item by reducingthe amount of manipulation that a user must perform on the media itemfor a presentation.

The flowchart begins at 502, where the presentation module 145 presents,on the display, the first slide of the presentation including a firstplayable media item according to one embodiment, the first playablemedia item may include, for example, an audio file, video file, andanimation, and enhanced image file, and the like.

The flowchart continues at block 504, where the presentation module 145receives user input causing the presentation to be presented. As anexample, a user may click a button, provide a gesture, present a cue, orthe like, to transition a presentation of the slideshow from the firstslide to the second slide.

At block 506, the presentation module 145 determines whether the nextslide includes a next playable media item corresponding to the samemedia item as the first playable media item. According to ourembodiments, the determination as to whether the first media item andthe next media item correspond to the same media item may be performedin a number of ways. For example, the presentation module 145 maycompare heuristics of the first playable media item and the secondplayable media item. Those heuristics may include, for example,filenames, video or audio links, file hashes, and the like. In one ormore embodiments, one or more heuristics may be compared to determine aconfidence value corresponding to a likelihood that the first playablemedia item and the second playable media item correspond to the samemedia item. In one or more embodiments, if the confidence valuesatisfies a predetermined threshold, then the presentation module 145determines the first playable media item and the second playable mediaitem to correspond to the same media item.

At 508, the presentation module 145 determines whether the same mediaitem is included on the consecutive slides. The determination may bemade at various times in the presentation process, such as beforepresenting, in response to receiving a request to present a slideshow,in response to receiving a request to progress to a next slide while amedia item is active, and the like. If a determination is made that thesame media item is included on the consecutive slides, then theflowchart continues to 510, and the presentation module 145 matches thefirst playable media item with the next playable media item. The firstplayable media item and the next playable media item may be matched in anumber of ways to provide continuous playback of the same media itemacross consecutive slides. As an example, the first media item of thefirst slide may be modified to match the presentation style of the nextmedia item on the next slide while still playing such that playback ofthe media item appears continuous and transitions between thecorresponding presentation characteristics of a currently presentedslide and the next slide. Said another way, in some embodiments, thefirst media item from the first slide may replace the next media item inthe next slide if it is determined that the first playable media itemand the next playable media item corresponds to a same media item.Alternatively, in other embodiments, the first media item may bemodified to transition into presentation characteristics of the secondmedia item such that the transition between the first playable mediaitem and the second playable media item appears continuous.

The flowchart continues at 512, where the presentation module 145presents the same media item during presentation of the next slideaccording to the match. As described above, presenting the same mediaitem during presentation of the next slide may include replacing thesecond playable media item with the first playable media item, modifyingthe playback of the second playable media item to begin at a time stampassociate with the termination of the first playable media item, or thelike.

At 518, a determination is made regarding whether additional slides arepresented during the presentation of the same media item. As an example,if the same media item has not completed and the presentation module 145receives user input to present a third slide, then the flowchart returnsto block 506, and the presentation module 145 determines whether thenext slide (e.g., the third slide) includes a next playable media item(e.g., a third playable media item) corresponding to the same media itemas the first playable me item. At block 508, if it is determined thatthe same media item is also presented on the third slide, then theflowchart continues to block 510 such that the first playable media itemand the third playable media item are matched, and then at block 512 thesame media item is presented in accordance with the match.

If a determination is made at block 518 that an additional slide is notpresented during presentation of the same media item, then the flowchartcontinues to block 520, and the presentation module 145 foregoespresentation of the same media item during the next slide. Said anotherway, if the same media item is presented across the first and secondslide, and the third consecutive slide does not include an instance ofthe same media item, the same media item will continue to play and,optionally, will fade out in the third slide until it is no longerpresented. As an example, and opacity of an image or video file may bereduced, and/or a volume of an audio file may be reduced.

Returning to block 508, in some embodiments, if it is determined thatthe same media item is not on consecutive slides then the flowchartcontinues to block 514, and a determination is made as to whetherplayback of the current media item is complete. For example, in thefirst iteration, whether the first playable media item is complete whenthe second slide is presented. Optionally, if a determination is made at514 that the playback of the current media item is complete, and theflowchart continues to block 522, and the presentation module 145foregoes presentation of the same media item during the next slide. Saidanother way, if two consecutive slides contain instances of the samemedia item, and the media item completes during the first presentationof the first slide, then in some embodiments, the media item will beomitted in the second of the consecutive slides. In other embodiments,the media item will restart from the beginning of the media item in thesecond of the consecutive slides when the media item completes duringthe first presentation of the first slide and the second slide containsan instance of the same media item.

If at block 514, it is determined that playback of the current mediaitem is not complete, then the flow chart continues to block 516, wherethe presentation module 145 presents the current playable media item inconjunction with presentation of the next slide. Said another way,rather than simply ending the playable media item when the slide moveson, if some embodiments the changing of the slide does not end thepresentation of the playable media item. As such, the playable mediaitem may continue to play in conjunction presentation of the next slide.

FIG. 6 is a flow diagram illustrating a method for incorporating atransition into a media item for presentation between consecutive slidesusing an electronic device in accordance with some embodiments. Method600 is performed at a device (e.g., 100, 200, 300) with a display. Someoperations in method 600 are, optionally, combined, the orders of someoperations are, optionally, changed, and some operations are,optionally, omitted.

As described below, method 600 provides an intuitive way forincorporating a transition into a media item for presentation betweenconsecutive slides. The method reduces the cognitive burden on a userfor modifying presentation of playable media items on consecutive slidesaccording to a match, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomodifying presentation of playable media items on consecutive slidesaccording to a match faster and more efficiently conserves power andincreases the time between battery charges. Additionally, the methodprovides an enhanced technique for presenting the playable media item byallowing a user to configure a slideshow such that the presentation ofthe slideshow is modifiable during a playback mode.

The flowchart of the 600 begins at 602 where the presentation module 145identifies a first playable media item and a second playable media itemon consecutive slides (e.g., a first slide directly followed by a secondslide in a slideshow). According to some embodiments, the presentationmodule 145 may identify the first and second playable media items priorto the display of the presentation, when a presentation is initiated,during the presentation, in response to a request to progress to a nextslide while a media item is active, and the like. Optionally, thepresentation module may identify the first playable media item in thesecond playable media item during the presentation of the consecutiveslides in presentation mode.

The flowchart 600 continues to block 604, where the presentation module145 determines that the first playable media item and the secondplayable media item correspond to a same media item. As described above,in some embodiments, the first playable media item and second playablemedia item may not be identical and yet may correspond to a same mediaitem. As an example, the two files may be compared for file name, size,duration, or other properties. The determination that the first andsecond label media items correspond to a same media item may includecomparing characteristics of the first and second playable media items.Optionally, a confidence value may be determined based on thecharacteristics of the first and second label media items. Further, insome embodiments, the confidence value may be compared against apredetermined threshold to determine whether or not the first playablemedia item and the second playable media item correspond to a same mediaitem. The determination may be made at various times during thepresentation process, such as prior to the display of the presentation,when a presentation is initiated, during the presentation, in responseto a request to progress to a next slide while a media item is active,and the like.

The flowchart continues to 606, where the presentation module 145determines the difference in presentation characteristics between thefirst playable media item and the second playable media item. As anexample, a user may insert the first playable media item in the firstslide with a first set of presentation characteristics and the secondplayable media item in the second slide with second presentationcharacteristics. Examples of presentation characteristics that maydiffer between first and second playable media items include, but arenot limited to limited to, volume, opacity, playback speed, size orrotation, color profiles, audio effects, and/or graphical effects suchas shadows, borders, or color filters.

The flowchart 600 continues to block 608, where the presentation module145 modifies the first playable media item to match presentationcharacteristics of the second playable media item when presented inconjunction with the second consecutive slide. According to someembodiments, the first media item may be modified to match the secondplayable media item, such that the first playable media item can replacethe second playable media item in the second of the consecutive slides.In some embodiments, the first playable media item is modified to matchthe presentation characteristics of the second playable media item whenthe slide in which the second media item is found is presented such thatthe modified first playable media item provides an endpoint for thefirst playable media item on the first slide.

The flowchart continues at block 610, where the presentation module 145generates transition frames for the media item between the consecutiveslides. In some embodiments, the first playable media item is utilizedto generate transition frames (e.g., interpolated frames) between thepresentation characteristics of the first media item and the matchedpresentation characteristics of the second media item from block 608such that the media item appears to smoothly transition from one set ofpresentation characteristics to another when the slides are transitions.In some embodiments, an interpolation may include modifying a series offrames of the playable media item to be presented during a transitionbased on an interpolation of the presentation characteristics.

The flowchart concludes at the 612, where the presentation module 145presents the transition frames and modified first media item inconjunction with the second of the consecutive slides. In accordancewith our embodiments, the transition frames and the modified first mediaitem may present the final media item frames that are presented as partof the transition between the first and second slide prior to the secondplayable media item being presented in association with the second ofthe consecutive slides. In some embodiments, the second playable mediaitem on the second slide is replaced by the modified first playablemedia item as it was modified at block 608.

FIG. 7 is a flow diagram illustrating a method for incorporating anactive playable media item in a transition between two consecutiveslides using an electronic device in accordance with some embodiments.Method 700 is performed at a device (e.g., 100, 200, 300) with adisplay. Some operations in method 700 are, optionally, combined, theorders of some operations are, optionally, changed, and some operationsare, optionally, omitted.

As described below, method 700 provides an intuitive way forincorporating an active playable media item in a transition between twoconsecutive slides. The method reduces the cognitive burden on a userfor modifying presentation of playable media items on consecutive slidesaccording to a match, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomodifying presentation of playable media items on consecutive slidesaccording to a match faster and more efficiently conserves power andincreases the time between battery charges. Additionally, the methodprovides an enhanced technique for incorporating a playable media itemduring a transition between consecutive slides.

The flowchart begins at block 702, where the presentation module 145detects user input for causing presentation of the next slide. As anexample, a user may be presenting a slideshow while on the first slide,and click a button or otherwise provide user cause a slideshowpresentation to advance to a next slide, such as the second slide. Insome embodiments, the currently presented slide may include a currentmedia item.

At block 704, a determination is made as to whether playback of thecurrent media item is complete. For example, the current media item mayhave a short duration and, thus, reached its conclusion prior to theuser causing next slide to be presented. If at block 704 a determinationis made that playback of the current media item is complete, then theflowchart continues to block 712, where the presentation module 145present the transition between presentation of the current slide and thenext slide without the current media item. That is, if the current mediaitem has already reached its conclusion, there is no need for the mediaitem to be played during the transition according to some embodiments.

Returning to block 704, if a determination is made that playback of thecurrent media item is not complete upon detection of user input forcausing presentation of the next slide, then the flowchart continues toblock 706. At block at 706, the presentation module 145 detects atransition operation between the current slide and the next slide. Thetransition operation may include, for example, an animation between thefirst slide and the second slide.

At block at 708, the media item is incorporated into the transitionoperation. For example, if the first slide fades into the second slide,the first media item may continue playing, but will fade intopresentation characteristics of the media item on the second slide. Asanother example, if the transition operation indicates that the firstslide is swept across the screen to reveal the second slide, then themedia item may continue to play as it is swept across the screen, andcontinue to play in a determined location in the second slide. The mediaitem may be incorporated by applying a warping function to at least aportion of the media item to match a transition operation between slidesin some embodiments.

The flowchart concludes at block 710, where the presentation module 145presents a transition between presentation of the current slide in thenext slide such that the media item is integrated into the transition.As an example, if the transition includes an animation, the same mediaitem will be integrated into the animation and played during theanimation.

FIGS. 8A-8B illustrate exemplary user interfaces for modifyingpresentation of playable media items on consecutive slides according toa match using an electronic device in accordance with some embodiments.The user interfaces in these figures are used to illustrate theprocesses described above, for example the processes in FIGS. 4-7.

FIG. 8A depicts a graphics editing interface 800 by which a slideshowmay be generated. The graphics editing interface may be an editingmodule for a presentation module 145, according to some embodiments. Thegraphic editing interface 800 may be presented on a display of a device,such as display 304 of personal electronic device 300 of FIG. 3,according to some embodiments.

For purposes of the example presented in FIG. 8A, the graphic editinginterface 800, includes an editing toolbar 815 with a variety of editingtools which may be utilized to build a slide for a slideshow. Thegraphic editing interface 800 may additionally include a preview panel810, which may depict a preview of each of the slide in the slideshow.In some embodiments, the graphic editing interface 800 may display oneslide at a time in an editing region, such as slide one 801.

The example slide one 801 includes slide one content 807, such as theslide one title. Further, slide one 801 may be edited to include aplayable media object 805. Playable media object 805 may include a videofile, an animation, an enhanced movable image, an audio file, or thelike. According to some embodiments, a user may append or otherwiseinclude the playable media object 805 by utilizing the editing toolbar815, directly dragging a file onto the interface, or the like. Theplayable media object 805 may be incorporated into the slide one 801from various sources, either locally on the same device as the graphicediting interface 800, or from remote sources.

FIG. 8B depicts the graphic editing interface 800 as it is utilized togenerate the second slide 802 of the slideshow. Similar to FIG. 8Adescribed above, graphic editing interface 800 may present a previewpanel 810, which will depict the second slide to be selected when slidetwo 802 is being edited within the graphic editing interface 800. Asdepicted, slide two 802 may include different content than slide one801. For example, slide two 802 includes a different slide two title808, as well as slide two text 809.

Slide two 802 may be edited by a user to include a playable media object806. According to some embodiments, playable media object 806 may be thesame as or similar to playable media object 805 from FIG. 8A in slideone 801. For example, a user may duplicate the playable media object 805to incorporate the media item as playable media object 806 in slide two802. As another example, the playable media object 806 may be a samefile as playable media object 805, and may be obtained from a samesource or a different source as playable media item 805. According tosome embodiments, the playable media objects 805 and 806 may not beidentical, but may be substantially similar so as to ben determined tocorrespond to a same media item. As an example, the playable mediaobject 805 and the playable media object 806 may correspond to a samemedia object, but may differ slightly. As an example, the files mayoriginate from different sources, the metadata may be slightlydifferent, running times of the two items may be slightly different, andthe like. Further, according to some embodiments, the playbackcharacteristics of the media items in slide one 801 and slide two 802may be different. As depicted, the playable media object 805 is editedinto slide one 801 to be presented in a larger format than playablemedia object 806 of slide two 802.

As described above, either during the editing mode, and/or during theplayback mode, a determination may be made as to whether the firstplayable media object 805 and the second playable media object 806correspond to a same media item. That is, the determination that the twoplayable media objects correspond to a same media object may be madeduring the editing mode, or may not be made until presentation mode,such as when the slideshow is presented, upon presentation of slide one801, upon presentation of slide two 802, and the like. In someembodiments, the presentation module 165 may determine that the playablemedia object 805 and the playable media object 806 correspond to a samemedia object based on one or more various heuristics. As an example,characteristics of the first playable media object 805 and secondplayable media object 806 may be compared to determine whether asimilarity of the two media objects satisfies a similarity threshold asto determine that they correspond to a same media item. Examplecharacteristics may include, for example, file names, duration of themedia, file hashes, metadata, and the like.

If it is determined that playable media object 805 and playable mediaobject 806 correspond to a same media item, then the first playablemedia object 805 and the second playable media object 806 may be matchedduring a presentation mode as will be described below with respect toFIGS. 9A-9B.

FIGS. 9A-9B depict series of slides as generated by graphic editinginterface 800. Specifically, FIGS. 9A-9B depict embodiments of thepresentation mode of presentation module 145 in which playable mediaobject 805 and playable media object 806 are matched.

FIG. 9A depicts a series of frames of the slideshow at different timesduring the presentation. The first frame 905 depicts slide one 801 atthe first time. As shown, playable object 901A is just beginning toplay. As described above, the media item played in the presentation modemay begin with the playable media object 805, along with the playbackcharacteristics associated with playable media object 805 as indicatedduring the editing mode. Second frame 910 depicts the same slide one 801at a second time. As depicted, the playable media object 901B is now ata second point in playback. This is made apparent by the figure of aperson running towards the ball who is now closer to the ball in secondframe 910 than depicted in playable object 901A in first frame 905.

At 915, user input is received which causes the slideshow to advance tothe next slide. According to one or more embodiments, the user inputcould be any indication that the slideshow should proceed to a nextslide in a predetermined order, such as a click of a mouse or other userinput device, predetermined gesture, or the like. Further, in one ormore embodiments, the indication to proceed to the next slide may notrely on user input, for example if the slideshow has defined aparticular duration for slide one 801.

Third frame 920 depicts slide two 802 once the slideshow has beenadvanced to slide two 802 from slide one 801. For purposes of theexample, the presentation module 145 has determined that the playablemedia object 805 and the playable media object 806 correspond to a samemedia object. As such, the same media object is matched in accordancewith the playback of the slideshow. As such when slide one 801 depictedin second frame 910 transitions to slide two 802 depicted in third frame920, the playable object 901B is configured to transition to playableobject 901C such that a same media item corresponding to playable mediaobject 805 and playable media object 806 appear to be playedcontinuously across the two slides. Notably, the presentationcharacteristics for the media item in slide one 801 and slide two 802may differ. As shown, playable object 901B differs from playable object901C in that playable object 901C is configured to be presented in asmaller configuration than playable object 901B. According to someembodiments, playable media object 806 may be replaced by playable mediaobject 805 in slide two 802 during the presentation, such that whenpresented in association with slide two 802, the playbackcharacteristics of playable object 805 may be modified to match theconfigured characteristics of playable object 806. In some embodiments,a timestamp for playable object 901B may be obtained when the slide istransitioned such that playable object 901C can begin at the same timeplayable object 901B ceased playing. Further, in some embodiments, oneor more of playable media object 805 and playable media object 806 maybe modified to provide a transition between the two playable mediaobjects. For example, in the example presented, a presentation state ofthe playable objects 901B maybe transitioned into a presentation stateof playable object 901C, for example the frame of the playable objectmay shrink down to the frame of playable object 901C. Similarly, thedifference in playback characteristics associated with the playablemedia objects across frames may be utilized to generate transitionalplayback frames of the playable media object when the slideshow isadvanced. Although not depicted, if the user input is received after theplayable object has concluded, then the playable object may be ignoredin the following slide such that it is not played, in accordance withsome embodiments. In other embodiments, if the user input is receivedafter the playable object has concluded, then the playable object maybegin from the beginning upon presentation of the slide.

FIG. 9B depicts a series of frames of the slideshow in an exampleembodiment in which a transition animation is utilized between twoconsecutive frames of the presentation. According to some embodiments,when a presentation is configured to include the transition animationbetween two frames, and the two consecutive slides include a same mediaitem (e.g., the two slides have media items determined to be the same,as described above), the media item may be incorporated into thetransition such that the media item plays throughout the transition.

The figure begins with a first frame 925 of the slideshow that includesslide one 801 at a first time. Similar to FIG. 9A, when the presentationbegins, the playable object 805 begins playing within slide one 801. Assuch, the person running to the ball appears at the very left side ofthe slide for purposes of this example. At 930, user input is receivedto proceed to the next slide. According to some embodiments, theinstruction to advance to a next slide may not require user input, forexample if the slideshow was configured to present slide one 801 for apredetermined length of time.

In response to the user input to advance to slide two 802, atransitional animation may be triggered. For purposes of the example,the transition animation may include a swipe action, as depicted intransitional frame 935. According to one or more embodiments, theplayable media object 805 and the playable media object 806 may bematched such that the media item corresponding to the two playableobjects are presented on the two consecutive slides to playcontinuously. According to some embodiments, the playable object 902 maycontinuously play through the transition. In some embodiments, theplayable object 902B may be incorporated into the transition animationas an active component, such that the media item continues to playduring the transition. As such, playable object 902B would continue toshow the person running towards the ball as slide two swipes in toreplaced slide one. According to some embodiments, because the mediaitem is configured to be presented on the two consecutive slides, andsome frames of the transition between the two slides, two instances ofthe media item may be visible.

Third frame 940 depict slide two 802 at a third time after thetransition takes place. As shown, the playable object 902C continues toplay from a same playback location at which playable object 902B waspresented at the time playable object 902C became visible. Accordingly,an audience member viewing the presentation would perceive playablemedia objects 805 and playable media object 806 to be a single mediaobject which plays continuously across the first frame 925, thetransitional frame 935, and the third frame 940.

FIG. 10 is a flow diagram illustrating a method for editing a slideshowpresentation using an electronic device in accordance with someembodiments. Method 1000 is performed at a device (e.g., 100, 200, 300)with a display. Some operations in method 1000 are, optionally,combined, the orders of some operations are, optionally, changed, andsome operations are, optionally, omitted.

As described below, method 1000 provides an intuitive way for editing aslideshow presentation. The method reduces the cognitive burden on auser for modifying presentation of playable media items on consecutiveslides according to a match, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to modifying presentation of playable media items onconsecutive slides according to a match faster and more efficientlyconserves power and increases the time between battery charges. Themethod also provides an efficient manner for defining rules governingpresentation of an operation.

The flowchart begins at 1002, where the presentation module displays aslideshow editing user interface. The slideshow editing user interfacemay allow a user to build a slideshow for presentation. The slideshowediting user interface may allow the user to edit the slideshow tocreate a set of slides for a presentation. According to someembodiments, the slideshow may contain a series of ordered deterministicoperations. In some embodiments, the slideshow editing user interfacemay be utilized to define the ordered operations. An example of orderedoperations may include a presentation of the particular slide, followedby presentation of text on the slide, followed by the presentation of ananimation on the slide, followed by presentation of a next slide, inaccordance with various criteria.

The flowchart continues at 1004, where the presentation module receivesuser input via their slideshow editing user interface, causing a firstoperation to be added to the slideshow. The first operation can be, forexample, text, graphics, or other media which is presented as part ofone or more slides in the slideshow.

The flowchart proceeds to block 1006, where the first operation isconfigured to be performed when the first criteria is met based on afirst presentation status of the prior operation of slideshow. As anexample, the prior operation of the slideshow may be presentation of theparticular slide on which the first operation is added, presentation ofa graphic or animation that is configured to be displayed for someamount of time prior to the first operation, and the like. As such, insome embodiments, the first criteria is based on a first presentationstatus of one or more other operations of the slideshow.

The flowchart continues to 1008, where the first operation is caused tobe configured to be performed when a second criteria is met. Saidanother way, the first operation may be linked to two triggering eventsbased on two separate criteria. As shown, in block 1010, the secondcriteria can be caused to be defined as the second presentation statusof the prior operation of the slideshow when a predetermined user inputis received. As an example, if the first operation is a text box that isconfigured to be presented when a video that is presented preceding thetext box is complete (e.g., the first criteria), the first operation canalso be configured to be performed when the video is still playing, if apredetermined user input is received (e.g. the second criteria, whichwas not defined by the user). As such, the second criteria may beindependent of a presentation status of the previous operation, or maybe related to a different presentation status of the previous operationthan that of the first criteria.

The flowchart concludes at block 1012, where the presentation module 145optionally causes the prior operation to be configured to be performedregardless of the presentation state of the first operation. Saidanother way, going back to the example above, the video that precedesthe presentation of the text box may be configured to play through itsentire duration regardless of whether the predetermined user input isreceived and, thus, the text box is presented. As such, the text box maybe presented while the video is still playing, and the video may stillplay through its entire duration concurrently with presentation of thetext box.

Although not shown, the slideshow may be edited to include a secondoperation based on the present station state of the first operation. Thesecond operation may be configured to be performed in response to thethird criteria (e.g., the first presentation state of the firstoperation). As such, an additional operation of the slideshow maybeperformed in accordance with the presentation state of a previousoperation, regardless of the presentation state of other operations.Further, the second criteria may be more complex. As an example, thesecond criteria may be based on a presentation state, elapsed time,and/or other a combination of other factors to determine whether thepredetermined user input causes the first operation to initiate.

FIG. 11 is a flow diagram illustrating a method for modifying apresentation of a slideshow using an electronic device in accordancewith some embodiments. Method 1100 is performed at a device (e.g., 100,200, 300) with a display. Some operations in method 1100 are,optionally, combined, the orders of some operations are, optionally,changed, and some operations are, optionally, omitted.

As described below, method 1100 provides an intuitive way for modifyingpresentation of a slideshow. The method reduces the cognitive burden ona user for building a set of user defined actions that may be modifiedin presentation mode, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomodifying presentation of playable media items on consecutive slidesaccording to a match faster and more efficiently conserves power andincreases the time between battery charges. The method also provides anefficient manner for defining rules governing presentation of anoperation.

The flowchart begins at 1102, where the presentation module 145initiates display of a slideshow comprising a set of ordered operationseach associated with initiating criteria. In one or more embodiments,the display of the slideshow is initiated in response to a user inputtriggering a presentation mode of the presentation module 145. Accordingto some embodiments, the presentation mode presents the slideshow in auser interface without editing tools. Further, in some embodiments, thepresentation mode activates various criteria for the operations withinthe slideshow based on various criteria.

The flowchart continues at 1104, where the presentation module 145initiates a first operation of the set of ordered operations of theslideshow. In one or more embodiments, the presentation module 145 mayinitiate a first operation based on presentation logic or criteriaassociated with the first operation. As an example, the first operationmay be presented based on the criteria corresponding to a presentationmode of the previous operation, such as content within the slide orpresentation of the slide.

The flowchart continues to 1106, where the presentation module 145receives a user input overriding initiating criteria for a secondoperation of the ordered operations. As described above with respect toFIG. 10, the second operation may be associated with two or moreinitiating criteria. In some embodiments, each initiating criterion maybe associated with a different presentation status of a previousoperation in the ordered operations, or may be independent of any statusof any previous operation in the ordered operations.

In some embodiments, whether the user input to override the initiatingcriteria is active for a particular operation may be an additionalcriterion considered by the presentation module 145. That is, inresponse to receiving the user input to override the initiating criteriafor the second operation, a determination may be made that the abilityto override the initiating criteria via user input is active. As shownat block 1108, a determination may be made whether the overridingcapability is activated. In some embodiments, the overriding capabilitymay be activated for a particular operation, based on operationsassociated with a particular slide, or maybe associated with alloperations across a slideshow.

If a determination is made at block 1108 that the overriding capabilityis activated, then the flowchart continues to 1110, where thepresentation module 167 initiates the second operation based on the userinput regardless of the initiating criteria for the second operation.That is, the second operation may be configured to be performed inassociation with a particular state of one or more previous operations.The overriding capability triggers initiation of the operation based ona different presentation state of one or more previous operations. Forexample, the initiating criteria may indicate that a preceding operationmust be complete for the second operation to initiate. The overridingcapability may be associated with a different criterion for the secondoperation. As an example, the second operation may be initiated if thepreceding operation is active, but not necessarily if the precedingoperation is complete. In some embodiments, the overriding capabilitymay modify the criteria used for determining initiation of the secondoperation regardless of a presentation state of a previous operation inthe set of ordered operations.

The flowchart continues to block 1112, where the presentation module 145completes the first operation concurrently with activation of the secondoperation in some embodiments. Returning to the example described above,if the second operation is initiated during presentation of thepreceding operation but prior to completion of the preceding operation,the second operation may initiate concurrently with presentation of thepreceding operation such that the preceding operation continues afterthe second operation is initiated.

Returning to block the 1108, if a determination is made that theoverriding capability is not activated, then the flowchart continues toblock 1114, where the presentation module 145 monitors the slideshow forinitiating criteria for the second operation. As described above, theinitiating criteria may be the criteria that does not involve thepredetermined user input that triggers the overriding capability. Forexample, the initiating criteria for the second operation may be basedon the particular presentation state of the preceding operation. Theflowchart continues to block 1116, where the presentation moduleinitiates the second operation based on the initiation initiatingcriteria for the second operation.

The flowchart concludes at block 1118, where the presentation module 145monitors the slideshow for an initiation criterion for the thirdoperation of the order operations in accordance with the activation ofthe second operation. Said another way, in some embodiments, the thirdoperation may be associated with and initiating criteria based on thepresentation status of the second operation. Regardless of whether ornot the first operation is continuing to be presented, the thirdoperation will be initiated based on the predefined criteria associatedwith the presentation state of the second operation.

In some embodiments, whether the user input to override the initiatingcriteria is active for a particular operation may be an additionalcriterion considered by the presentation module 145. That is, inresponse to receiving the user input to override the initiating criteriafor the second operation, a determination may be made that the abilityto override the initiating criteria via user input is active. As shownat block was 1108, a determination may be made whether the overridingcapability is activated. In some embodiments, the overriding capabilitymay be activated for a particular operation, based on operationsassociated with a particular slide, or maybe associated with alloperations across a slideshow.

If a determination is made at block 1108 that the overriding capabilityis activated, then the flowchart continues to 1110, where thepresentation module 167 initiates the second operation based on the userinput regardless of the initiating criteria for the second operation.That is, the second operation may be configured to be performed inassociation with a particular state of one or more previous operations.The overriding capability triggers initiation of the operation based ona different presentation state of one or more previous operations. Forexample, the initiating criteria may indicate that a preceding operationmust be complete for the second operation to initiate. The overridingcapability may be associated with a different criterion for the secondoperation. As an example, the second operation may be initiated if thepreceding operation is active, but not necessarily if the precedingoperation is complete. In some embodiments, the overriding capabilitymay modify the criteria used for determining initiation of the secondoperation regardless of a presentation state of a previous operation inthe set of ordered operations.

The flowchart continues to block 1112, where the presentation module 145completes the first operation concurrently with activation of the secondoperation in some embodiments. Returning to the example described above,if the second operation is initiated during presentation of thepreceding operation but prior to completion of the preceding operation,the second operation may initiate concurrently with presentation of thepreceding operation such that the preceding operation continues afterthe second operation is initiated.

Returning to block the 1108, if a determination is made that theoverriding capability is not activated, then the flowchart continues toblock 1114, where the presentation module 145 monitors the slideshow forinitiating criteria for the second operation. As described above, theinitiating criteria may be the criteria that does not involve thepredetermined user input that triggers the overriding capability. Forexample, the initiating criteria for the second operation may be basedon the particular presentation state of the preceding operation. Theflowchart continues to block 1116, where the presentation moduleinitiates the second operation based on the initiation initiatingcriteria for the second operation.

The flowchart concludes at block 1118, where the presentation module 145monitors the slideshow for an initiation criterion for the thirdoperation of the order operations in accordance with the activation ofthe second operation. Said another way, in some embodiments, the thirdoperation may be associated with and initiating criteria based on thepresentation status of the second operation. Regardless of whether ornot the first operation is continuing to be presented, the thirdoperation will be initiated based on the predefined criteria associatedwith the presentation state of the second operation.

FIG. 12 illustrates an exemplary user interface for modifyingpresentation playback using an electronic device in accordance with someembodiments. The user interfaces in these figures are used to illustratethe processes described above, for example the processes in FIGS. 10-11.

FIG. 12 depicts graphic editing interface 1200 by which a slideshowpresentation may be generated. The graphic editing interface 1200includes an editing toolbar 1205, which may be utilized to add variousactions to a particular slide. According to some embodiments, the userdefined actions may appear on a slide simultaneously, for example whenthe slide is presented. In some embodiments, various user-definedactions may be presented in a particular order as defined by a user. Forpurposes of the example, graphic editing interface 1200 includes anaction order panel 1210, which depicts an order in which user definedactions are presented on the particular slide.

For purposes of the example presented in FIG. 12, a slide one 1201 isdepicted as being edited within graphic editing interface 1200. Slideone 1201 includes several content items, whose appearance on the slideduring a presentation mode are defined by user defined actions. Thevarious content items include a moving object 1202, a bullet one 1203,and a bullet two 1204. Turning to the action order panel 1210, it isdepicted that the first user-defined action 1212 includes the movingobjects 1202 moving across the slide. The second user-defined action1214 is depicted as including the appearance of bullet one 1203. Thethird user-defined action 1218 is depicted as including the appearanceof bullet two 1204.

According to some embodiments, the proscribed user-defined action ordermay be linear, or maybe associated with one or more heuristics which maybe dynamically modified during presentation mode and order in which theuser divine actions are presented. According to one or more embodiments,the proscribed user-defined action order may be interrupted or otherwisemodified during a presentation mode by a predefined user input. Anexample of a user input triggering an overriding capability might be aclick of a mouse or other user input device, as depicted at 1222.According to one or more embodiments, the overriding capability may beglobal, and/or maybe dependent on the particular action. As depicted,some embodiments allow a user input component 1222 to indicate whetheran overriding capability is activated. According to some embodiments,the overriding capability may provide the capability for a user toadvance to a next user-defined action in a set of actions for a slide orslideshow regardless of the state of the current action. In someembodiments, the overriding capability may allow individual user-definedactions may be associated with various heuristics which may or may notallow for user-defined modification of the user-defined actions duringpresentation mode. The overriding capability may be based on one or morecriteria to initiate a particular user-defined action. As shown, thesecond user-defined action 1214 (corresponding to the appearance ofbullet one 1203) is associated with a user input component 1216 whichindicates that an overriding capability is activated for that slide. Insome embodiments, the affirmative user input at user input component1216 indicates that if the predetermined user input is received duringpresentation mode of the first user-defined action 1212 corresponding tothe overriding capability, then the second user-defined action 1214 maybe initiated regardless of the completion of the first user-definedaction 1212. Said another way, if the moving object has not yet reachedits configured conclusion, and user input is received to trigger theoverriding capability, then the presentation of bullet one 1203 will betriggered while the moving objects 1202 is still moving across thescreen.

According to some embodiments, the overriding capability may be morecomplex. As an example, user-defined action 1218, which includes thepresentation of bullet two 1204, is not configured to allow theoverriding capability as shown at input component 1220. As such, forpurposes of this example, the overriding capability is not active forthe third user-defined action 1218. Thus, the moving object 1202 mustreach its intended conclusion, and bullet one must be presented prior tobullet two 1204 being presented. Although not shown, more advancedheuristics may be proscribed by a user on the global basis and/or on anaction-by-action basis. Further, in some embodiments, the overridingcapability may be active or inactive according to a context of thepresentation. An example may include that an overriding capability maybe allowed during animations, but not during playback of video files.Said another way, in some embodiments, the criteria for determiningwhether a next up user-defined action may be initiated may be based on acontext of the presentation of the slide and/or the content of the slidebeing presented, such as playback status of media types, content types,and the like.

FIG. 13 depicts two example flow diagrams of the presentation of slideone 201 as it was generated and graphic editing interface 1200. The twoexample flow diagrams include a build flow 1305, in which no user inputis received to override an initiating criteria of a next user-definedaction. Modified flow 1310 depicts an example flow diagram ofpresentation of slide one 201 utilizing user input to override aninitiating criteria for the next user-defined operation.

Build flow 1305 depicts the flow of the presentation of content items1202, 1203, and 1204 as defined by the identified action order asdepicted in action order panel 1210. Accordingly, build flow 1305 beginswith frame 1301A in which slide one 1201 is depicted with moving object1302A moving across the screen as defined in user-defined action 1212.The flow diagram continues at frame 1301B, where in the moving object1302B reaches its intended conclusion point on the right side of theslide. As defined by the user defined actions shown in action orderpanel 1210, the flow diagram proceeds to frame 1301C, in which slide one1201 presents the bullet one 1303 in response to the moving object 1302Breaching its conclusion. That is, the initiating criteria for thepresentation of bullet one 1303 is defined as the conclusion of themovement of moving object 1302B. The flow diagram proceeds at frame1301D, where the slide one 1201 presents the second bullet 1304 based onthe initiating criteria of the third user-defined action 1218 as thepresentation of bullet one 1303.

Turning to modified flow 1310, the flow diagram is presented whichdepicts the presentation flow of the various components of slide one1201 utilizing the overriding capability as configured in action orderpanel 1210 of the graphic editing interface 1200. Accordingly, theinitiating criteria of user-defined action 1214 is configured to allowthe overriding capability based on a predetermined user input. Bycontrast, the user-defined action 1218 is not configured to allow theoverrating type capability based on a predetermined user input.

The modified flow 1310 begins at frame 1311A, where slide one 1201 isdepicted with moving object 1312A moving across the slide. At 1315, thepredetermined user input is received while the moving object 1312A ismoving across the screen. As described above with respect to FIG. 12,the second user-defined action is configured to activate an overridingcapability in response to a predetermined user input. As such, theinitiating criteria of user-defined action two (e.g., the conclusion ofthe movement of moving object 1312A) may be overridden based on theuser-defined input. As such, in response to the user-defined input, thesecond user-defined action may initiate regardless of the state of thecurrent user-defined action and/or a configured initiating criteria ofthe second user-defined action 1214. Accordingly, the flow diagram 1310proceeds to frame 1311B, where the bullet one 1313 is presented whilemoving object 1312B continues to move across the slide.

The flow diagram proceeds to 1320, where user input is received. Theuser input may be the predetermined user input described above withrespect to 1315. However, as shown in action order panel 1210, the thirduser-defined action 1218 (e.g., the presentation of bullet two 1204) isnot configured to accept the overriding capability of the predetermineduser-defined action, as shown by the lack of affirmative selection ofeasier input component 1220. Accordingly, returning to FIG. 13, whenuser input is received at 1320, the user input may be ignored.Accordingly, the flow diagram continues to frame 1311C, where bullet one1313 is presented while moving objects 1312C continues to move acrossthe frame, but the third user-defined action is not initiated inresponse to the received input. The flow diagram concludes at frame1311D, where the moving objects 1312D reaches its conclusion point onthe right side of the slide. In response, bullet two 1314 is presentedas defined by user-defined action three 1218 of FIG. 12.

FIG. 14 depicts a flowchart of a technique for temporarily selecting avisually obscured object and a graphical editing interface according tosome embodiments. Method 1400 is performed at a device (e.g., 100, 200,300) with a display. Some operations in method 1400 are, optionally,combined, the orders of some operations are, optionally, changed, andsome operations are, optionally, omitted.

As described below, method 1400 provides an intuitive way for modifyingan ordered presentation of user-defined actions during a presentationmode. The method reduces the cognitive burden on a user for providing adynamically modifiable presentation, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to generate modifiable user-defined actions faster andmore efficiently conserves power and increases the time between batterycharges.

The flowchart begins at 1405, where the graphic editing interface isdisplayed with layered objects and a selection component. According toone or more embodiments, the layered objects include two or moregraphical objects overlaid on the same or similar location in the userinterface. The selection component provides an interface for selectingone or more of the layered objects for editing or manipulation purposes.In some embodiments, the selection component may include representationsof each object in a set of layered objects. For example, the selectioncomponent may present a preview of each layered object, a textualdescription of each layered object, and the like. Further, therepresentations of each object may be presented in a selectable mannersuch that each object may be selected based on user input. The objectsmay be ordered in the selection component, for example, based on thelayered ordering of the objects such that the top object in the layeredobjects is listed at the top or in a leading position in the selectioncomponent, such as on top or in a left-most position in the selectioncomponent. Further, in some embodiments, the selection component mayonly include representations of the visually obstructed objects fortemporary selection, and may not include the top object which can beselected without a selection component. Selection may be performed, forexample, by selecting a particular representation of the object in theselection component, selecting an object from a drop-down menu, and thelike. Further, in some embodiments, two or more objects may be selectedat the same time using the selection component such that all selectedobjects may be manipulated.

The flowchart proceeds to 1410, where user input is received directed toa first location of the interface where a second object is visuallyobstructed by a first object. For example, a cursor may be placed andutilized for user input on a location on the user interface over whichtwo or more objects are located, where at least one of the objects isobscured by another object. For another example, a touch-sensitivesurface detects user input (e.g., a tap gesture from a user tapping thetouch-sensitive surface with a finger) at the location and determinesthat the user input is a tap gesture.

The flowchart proceeds to 1415, where user input is received directly tothe selection component for temporary selection of the second object.According to some embodiments, the selection component may include amenu, listing, or other device by which the layered one or more objectsmay individually be selected. As such, the abstract visually obstructedsecond object may be selected in the selection component. In someexamples, the user input (e.g., a mouse click or a tap gesture) isdetected at a location corresponding to a representation of the secondobject within the selection component.

The flowchart continues to 1420, where the graphic editing interfacetransitions into a temporary selection mode in accordance with thereceived user input. According to some embodiments, temporary selectionmode is triggered in response to selection of a visually obstructedobject via the selection component. As will be described below,temporary selection mode is associated with one or more criteria which,when satisfied, cause the selected visually obstructed object tocontinue to be selected, and or to cease to be selected. For example, ina temporary selection mode, the temporarily selected object may beselected for a predetermined time period, a predetermined number of userinputs, until a user provides user input at a predetermined location oroutside a predetermined location of the graphic editing interface, andthe like.

In accordance with the user input directed to the selection componentfor temporary selection in the graphic editing interface, and transitioninto the temporary selection mode, the flowchart continues to 425, wherethe second object is selected. According to some embodiments, the secondobject is temporarily selected in accordance with the one or morecriteria associated with the temporary selection. In addition, at 1430,a visual identifier is presented in association with the obstructedobject indicating the obstructed object is temporarily selected. Thevisual identifier may be presented in the selection component, and/or inassociation with the selected second object in the graphic editinginterface.

FIG. 15 depicts a flowchart for utilizing a temporary selection mode inaccordance with some embodiments. Method 1500 is performed at a device(e.g., 100, 200, 300) with a display. Some operations in method 1500are, optionally, combined, the orders of some operations are,optionally, changed, and some operations are, optionally, omitted.

As described below, method 1500 provides an intuitive way for modifyingan ordered presentation of user-defined actions during a presentationmode. The method reduces the cognitive burden on a user for providing adynamically modifiable presentation, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to generate modifiable user-defined actions faster andmore efficiently conserves power and increases the time between batterycharges.

The flowchart begins at 1505, where user input is received directed to afirst location of the interface where a second object is obstructed by afirst object. The flowchart continues to block 1510, where user input isreceived to perform an operation on a selected object of a set oflayered objects at the first location. For example, user input may bereceived to manipulate a selected component. As an example, an editingtool may be selected from the editing toolbar to manipulate the selectedobject in accordance with the selected tool. That is, a user may provideuser input into the graphic editing interface to select a tool whichcauses an action corresponding to the tool to be applied to a selectedobject. As another example, a select and drag action may be used on theselected object such that user input at a location corresponding to thetemporarily selected object is used to select the object, and movementof the user input across an editing region causes the temporarilyselected object to be moved.

The flowchart continues to block 1515, where determination is made as towhether temporary selection criteria is satisfied. The temporaryselection criteria may be associated with determining whether anobstructed object remains temporarily selected. For example, thetemporary selection criteria may be associated with determining whethera predetermined amount of time has passed since the obstructed objectwas temporarily selected in the selection component, whether apredetermined number of user inputs have been received since theobstructed object was selected in the selection component, and the like.If the temporary selection criteria is determined to be satisfied at1515, then the flowchart continues to 1520, where the temporarilyselected object is identified from the selection component. Then atblock 1525, the first visual indication is presented for the temporarilyselected object. The flowchart optionally concludes at 1530, where theoperation is performed on the temporarily selected object.

Returning to block 1515, if a determination is made that the temporaryselection criteria is not satisfied or is no longer satisfied, then theflowchart continues to block 1535, where it is determined whether one ormore additional criteria are satisfied. In some embodiments, theadditional criteria may be that the temporary selection criteria is nolonger satisfied. In some embodiments, the additional criteria may haveadditional considerations or requirements as to a next selection of anobject from a set of layered objects. In accordance with a determinationthat the additional criteria is satisfied, the flow chart continues to1540, where a second visual indication is presented for the firstobject. As such, if it is determined that the second object is no longertemporarily selected, then the selection of the location that includesthe layered objects will cause the unobstructed first object to beselected. In addition, a visual indication may be presented inassociation with the first object in the selection component and/or withthe first object in the graphic editing interface. The second visualindication may differ from the first visual indication to signal thatthe second visual indication is not associated with a temporaryselection. As such, selection of the first object is not associated withtemporary selection criteria in accordance with some embodiments. Theflowchart concludes at 1525, where the operation is performed on thefirst object.

FIGS. 16A-16G illustrate an exemplary user interface for providingtemporary selection of layered objects in accordance with someembodiments. The user interfaces in these figures are used to illustratethe processes described above, for example the processes in FIGS. 14-15.

FIG. 16A depicts the graphic editing interface 1600 comprising anediting region 1601A in which a set of layered objects are presented forediting. The graphic editing interface includes an editing toolbar 1605which may include selectable components which, when selected, cause oneor more tools to be used to manipulate the various objects. The layeredobjects include a square 1612, a star 1614A, and a circle 1616A. Thecircle is depicted at the top of the layered objects, whereas the star1614A and the square 1612 are visually obstructed by other shapes. Forexample, the star 1614A is obstructed by the circle 1616A. Similarly,the square 1612 is obstructed by both the star 1614A and the circle1616A.

FIG. 16B depicts an initial user input utilizing a cursor 1630 at alocation on the interface where the square 1612 and the star 1614A areobstructed by the circle 1616A. As shown, the initial user input causesthe unobstructed object (i.e. the circle 1616A) to be selected. Theselection of the circle is depicted utilizing a first visual indication1632 in the editing region. Further, the user input at the firstlocation may trigger the appearance of the selection component 1620, onwhich an indication of each of the available objects at the location maybe presented. Accordingly, the selection component 1620 depicts arepresentation of each of the layered objects, including arepresentation of the circle 1622, a representation of the star 1624,and a representation of the square 1626. Because the initial selectioncauses the unobstructed object to be selected, the selection component1620 depicts the representation of the circle 1622 to be selected basedon the visual indication 1628 in the selection component (e.g., theshading presented over circle 1622 is displayed visually distinct fromlack of shading over the star 1624 and the square 1626).

FIG. 16C shows the graphic editing interface 1600 being used to modifythe circle 1616B in accordance with the selection. In this example, theuser input is received at cursor 1630 on the visual indication withinthe editing region 1601C causing the selected circle 1616B to beselected and dragged to a new location in the editing region 1601C. Asdepicted, the selection component 1620 continues to show therepresentation of the circle in the selection components 1622 to beselected based on visual indication 1628.

FIG. 16D shows the graphic editing interface 1600 being used totemporarily select a different object of the layered objects. Inselection component 1620, the cursor 1630 is depicted as hovering overthe representation of the star 1624. Notably, the star 1614A is one ofthe objects in the layered object that is visually obstructed by anotherobject (e.g., circle 1616B).

FIG. 16E depicts the graphic editing interface 1600 being used totemporarily select the visually obstructed object. Specifically, userinput may be received in the selection component to select one of thevisually obstructed objects. Here in this example, the cursor 1630 isused to provide user input to the location of the selection componentassociated with the star 1614A. In response to the user input, a secondvisual indication 1632 is presented in association with therepresentation of the star 1624 in the selection component 1620. Inaddition, a second visual indication 1634 is presented in associationwith the star 1614A in the editing region 1601E. According to someembodiments, the second visual indication 1632 in the selectioncomponent may differ from the first visual indication 1628 in theselection component because the second visual indication 1632 isassociated with a temporary selection. Specifically, the first visualindication 1628 in the selection component 1620 shows a filled shadedselection, whereas the second visual indication 1632 in the selectioncomponent 1620 depicts a cross hatched shaded selection. The selectionmay be associated with a temporary selection when the selection isassociated with a visually obstructed object represented in theselecting component 1620. Similarly, the second visual indication 1634differs from the first visual indication 1632 to indicate that the star1614A is temporarily selected. Specifically, the first visual indication1632 in the editing region 1601 depicts an outline around the region ofthe selected shape with square-shaped handles, whereas the second visualindication 1634 in the editing region 1601 depicts an outline around theregion of the selected shape with circle-shaped handles. Said anotherway, selection of the temporarily selected object may be associated withtemporary selection criteria which determine whether the object remainsselected, and the temporary selection may be visually indicated. Bycontrast, in FIG. 16B-16D, the circle 1616A is presented in the editingregion in association with the first visual indication 1632 whichdiffers from the second visual indication 1634 because the selection isnot associated with temporary selection criteria.

FIG. 16F depicts user input at the cursor 1632 to drag the selected star1614B in the editing region 1601F. In addition, the selection component1620 continues to show the representation of the star 1624 astemporarily selected. The temporary selection is visually depicted bythe second visual indication 1632 which is visually different than thefirst visual indication 1628 to indicate that the selection isassociated with temporary selection criteria. Specifically, for purposesof the example, the first visual indication 1628 depicts a filled shadedarea over the circle in the selection component 1620, whereas the secondvisual indication 1632 depicts a cross hatched patterned region over thestar 1624. Notably, the cursor is placed at a location on the editingregion 1601F at which the circle is the top object in the layeredobjects. However, because the star 1616A is temporarily selected, aclick and drag over the circle 1616B causes a click and drag action tobe applied to the visually obstructed star 1614A.

FIG. 16G depicts the graphic editing interface 1600 being utilized by auser providing user input by cursor 1630 at the location associated withthe layered objects 1612, 1614B, and 1616B. For purposes of the example,the editing region 1601G depicts user input at the location when thetemporary selection criteria is no longer satisfied. Accordingly, theinput into the location causes the unobstructed object (e.g., the circle1616B) to be selected. Accordingly, the circle 1616B is depicted with afirst visual indication in 1632 in the editing region 1601G. Further,the representation of the circle 1622 is depicted with the first visualindication 1628 in the selection component. As shown, the visualindication 1628 differs from the visual presentation of the secondvisual indication 1632, and the visual indication 1632 differs from thevisual indication 1634 to indicate that selection of the circle is notassociated with temporary selection criteria.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the techniques and their practical applications. Othersskilled in the art are thereby enabled to best utilize the techniquesand various embodiments with various modifications as are suited to theparticular use contemplated.

Although the disclosure and examples have been fully described withreference to the accompanying drawings, it is to be noted that variouschanges and modifications will become apparent to those skilled in theart. Such changes and modifications are to be understood as beingincluded within the scope of the disclosure and examples as defined bythe claims.

What is claimed is:
 1. A method, comprising: at an electronic device in communication with a display device and one or more input devices: displaying, via the display device, a first user interface of a slideshow application, wherein the first user interface includes a representation of a first slide of a slideshow; while displaying the first user interface, receiving, via the one or more input devices, first user input to add a first operation to the first slide of the slideshow; in response to the first user input, causing the first operation to be configured to be performed when one or more first criteria are met; receiving, via the one or more input devices, second user input to cause the slideshow to be presented; in response to the second user input, initiating presentation of the slideshow; and while presenting the slideshow: receiving, via the one or more input devices, third user input; and in response to the third user input: in accordance with a determination that one or more second criteria are met, utilizing one or more third criteria to determine initiation of the first operation, wherein: the one or more second criteria are different from the one or more first criteria, the one or more third criteria are different from the one or more first criteria, and the one or more third criteria are different from the one or more second criteria.
 2. The method of claim 1, wherein, when met, one or more fourth criteria cause the utilization of the third criteria to be skipped.
 3. The method of claim 1, wherein the first operation comprises a user-defined action selected from a group consisting of an animation, a video, an audio, and an enhanced image.
 4. The method of claim 1, wherein the one or more second criteria identifies a presentation status of the slideshow when the third user input is received.
 5. The method of claim 1, further comprising: in accordance with a determination that the third criteria is met, foregoing initiation of the first operation.
 6. The method of claim 5, further comprising, in accordance with the determination that the third criteria is met: determining a next operation of the slideshow; and initiating the next operation of the slideshow.
 7. The method of claim 1, wherein the first criteria identifies a first state of an operation preceding the first operation, and wherein the third criteria identifies a second state of the operation preceding the first operation.
 8. The method of claim 7, wherein the operation preceding the first operation is configured to continue to completion in accordance with the third criteria being met.
 9. A non-transitory computer-readable medium storing one or more programs configured to be executed by one or more processors of an electronic device with a display device and one or more user input devices, the one or more programs including instructions for: displaying, via the display device, a first user interface of a slideshow application, wherein the first user interface includes a representation of a first slide of a slideshow; while displaying the first user interface, receiving, via the one or more input devices, first user input to add a first operation to the first slide of the slideshow; in response to the first user input, causing the first operation to be configured to be performed when one or more first criteria are met; receiving, via the one or more input devices, second user input to cause the slideshow to be presented; in response to the second user input, initiating presentation of the slideshow; and while presenting the slideshow: receiving, via the one or more input devices, third user input; and in response to the third user input: in accordance with a determination that one or more second criteria are met, utilizing one or more third criteria to determine initiation of the first operation, wherein: the one or more second criteria are different from the one or more first criteria, the one or more third criteria are different from the one or more first criteria, and the one or more third criteria are different from the one or more second criteria.
 10. The non-transitory computer readable medium of claim 9, wherein, when met, one or more fourth criteria cause the utilization of the third criteria to be skipped.
 11. The non-transitory computer readable medium of claim 9, wherein the first operation comprises a user-defined action selected from a group consisting of an animation, a video, an audio, and an enhanced image.
 12. The non-transitory computer readable medium of claim 9 wherein the one or more second criteria identifies a presentation status of the slideshow when the third user input is received.
 13. The non-transitory computer readable medium of claim 9, further comprising instructions for: in accordance with a determination that the third criteria is met, foregoing initiation of the first operation.
 14. The non-transitory computer readable medium of claim 13, further comprising, in accordance with the determination that the third criteria is met, instructions for: determining a next operation of the slideshow; and initiating the next operation of the slideshow.
 15. The non-transitory computer readable medium of claim 9, wherein the first criteria identifies a first state of an operation preceding the first operation, and wherein the third criteria identifies a second state of the operation preceding the first operation.
 16. The non-transitory computer readable medium of claim 15, wherein the operation preceding the first operation is configured to continue to completion in accordance with the third criteria being met.
 17. An electronic device, comprising: a display device; one or more input devices; one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display device, a first user interface of a slideshow application, wherein the first user interface includes a representation of a first slide of a slideshow; while displaying the first user interface, receiving, via the one or more input devices, first user input to add a first operation to the first slide of the slideshow; in response to the first user input, causing the first operation to be configured to be performed when one or more first criteria are met; receiving, via the one or more input devices, second user input to cause the slideshow to be presented; in response to the second user input, initiating presentation of the slideshow; and while presenting the slideshow: receiving, via the one or more input devices, third user input; and in response to the third user input: in accordance with a determination that one or more second criteria are met, utilizing one or more third criteria to determine initiation of the first operation, wherein: the one or more second criteria are different from the one or more first criteria, the one or more third criteria are different from the one or more first criteria, and the one or more third criteria are different from the one or more second criteria.
 18. The electronic device of claim 17, wherein, when met, one or more fourth criteria cause the utilization of the third criteria to be skipped.
 19. The electronic device of claim 17, wherein the first operation comprises a user-defined action selected from a group consisting of an animation, a video, an audio, and an enhanced image.
 20. The electronic device of claim 17, wherein the one or more second criteria identifies a presentation status of the slideshow when the third user input is received. 